django.forms.forms
के अनुसार, एक Form
की __getitem__()
विधि कुछ एक BoundField
फील्ड से बाहर बुलाया यह लौटने से पहले, इस प्रकार जो भी परिवर्तन आपके द्वारा किया गया यह अलग करना पैदा करता है। क्या तुम सच में लगता है कि में और अधिक कार्यक्षमता सम्मिलित करना चाहते हैं, तो यह लौटने से पहले बाध्य क्षेत्र के लिए काम करना है कि विधि ओवरराइड:
class MyForm(forms.Form):
def __getitem__(self, name):
boundfield = super(forms.Form,self).__getitem__(name)
boundfield.foo = "bar"
return boundfield
फिर, "bar"
उस रूप में सभी क्षेत्रों के लिए दिखाई देगा। तुम भी एक समारोह बनाने के लिए और के बजाय फोन है कि, यह सिर्फ एक हार्ड-कोडेड स्ट्रिंग की तुलना में अधिक बनाने के लिए कर सकते हैं।
हालांकि यह अधिक मानक अधिक क्षेत्रों को जोड़ने के लिए, या प्रपत्र पर ही करने के लिए गुण जोड़ने के लिए, यदि आप जानकारी की एक पूरी नई वर्ग है कि हर क्षेत्र को शामिल करने की जरूरत है है है, यह यह तुम्हारे लिए क्या कर सकते हैं। एक टेम्पलेट में foo
तक पहुँचने के लिए फिर
class MyForm(forms.Form):
def __init__(self, *args, **kwargs)
super(forms.Form, self).__init__(*args, **kwargs)
self.fields['field_name'].foo = "bar"
,:
एक और तरीका है एक ही बात पाने के लिए क्षेत्र की एक विशेषता संपादित करने के लिए, तो BoundField
के "field"
विशेषता द्वारा ही पहुंच है:
{{ form.field_name.field.foo }}
संबंधित: http://stackoverflow.com/questions/2270550/warnings-or-even-info-messages-instead-of-only-errors-in-django – guettli