2010-02-13 3 views
9

मैं एक साधारण से फ़ॉर्मएक Django फ़ॉर्म की help_text में HTML कक्षा को कैसे जोड़ें?

class MyForm(forms.Form): 
    ... 
    fieldname = forms.CharField(help_text="Some help text") 

मैं तो Django के काम के साथ इस फार्म को प्रदर्शित कर सकते है {{ form.as_ul }} अगर मुझे पसंद है, अब मैं help_text stylise करने की जरूरत है और मैं पता नहीं कैसे कर सकते है।

class MyForm(forms.Form): 
    ... 
    fieldname = forms.CharField(help_text='<div class="helptext">Some help text</div>') 

कौन सा मुझे पता है गलत है इसलिए मैं यहाँ देख रहा हूँ: Django कुछ भी में कि स्ट्रिंग मेरी सीएसएस यह पल में इतना करने के लिए मिल जाएँगे जो रैप करने के लिए प्रकट नहीं होता है, मैं करने के लिए पुर्नस्थापित कर दी है बेहतर सलाह के लिए।

उत्तर

7

केवल इतना ही है कि आप फॉर्म विकल्पों से यूआई में कस्टमाइज़ कर सकते हैं। किसी समस्या से संपर्क करने का अधिक लचीला तरीका है अपना खुद का फॉर्म टेम्पलेट बनाना और {{ form.as_something }} के बजाय इसे पुन: उपयोग करना। Django प्रलेखन से इन विषयों पढ़ें:

यह बहुत अच्छी तरह से काम किया जब मैं काफी अनुकूलित प्रपत्र के निशान की जरूरत अभी तक यह सूखा रखने।

from django.utils.safestring import mark_safe 

और उसके बाद:

+1

सहमत। form.as_ * केवल त्वरित प्रोटोटाइप के लिए है; वास्तविक रूप लेआउट टेम्पलेट में इसे करने की आवश्यकता है। क्षेत्र-दर-मैदान जरूरी नहीं है; ज्यादातर मामलों में मैं सिर्फ खेतों के माध्यम से लूप करता हूं और एक ही एचटीएमएल के साथ प्रत्येक को प्रस्तुत करता हूं। –

2

मुझे लगता है कि कोई दूसरा रास्ता नहीं है, अन्यथा शायद इस टिकट की आवश्यकता नहीं होगी: http://code.djangoproject.com/ticket/8426

आप वहां प्रदान किए गए पैच को लागू कर सकते हैं।

13

यह करने के लिए एक और अधिक सुविधाजनक तरीका है

field = models.TextField(help_text=mark_safe("some<br>html")) 
संबंधित मुद्दे