我是django的新手。 查看我的form.py中的以下代码:
<logger name="testngLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="testngLogger" />
</logger>
<root>
<priority value="INFO" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="fileLogger" />
</root>
在我的表单渲染中我有以下代码无法正常工作:
class ProfileForm(forms.Form):
name = forms.CharField(label=_("first name"))
lname = forms.CharField(label=_("last name"))
phone= forms.CharField(label=_("phone"))
address = forms.CharField(label=_("address"))
def categorize_fields(self):
categorized_fields = [
[ self.fields["name"], self.fields["lname"] ] ,
[ self.fields["phone"], self.fields["address"] ]
]
return categorized_fields
{% for field_set in form.categorize_fields %}
{% for field in field_set %}
{{ field.label }}
{{ field }}
{% endfor %}
{% endfor %}
工作正常,但field.label
未显示呈现的HTML,而是显示:
{{ field }}
但如果我遍历传递给form_render.html的主窗体,一切正常:
<django.forms.fields.CharField object at 0x000012661591CA90>
我该如何解决? 感谢
答案 0 :(得分:1)
recycled view
包含对未绑定字段对象的引用。如果要访问实际的绑定字段,则需要直接在self.fields
上编制索引:
self
但是,我不建议这样做。而是使用像django-crispy-forms这样的第三方库。