django无法呈现形式

时间:2017-11-15 10:37:33

标签: python django forms

我是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> 

我该如何解决? 感谢

1 个答案:

答案 0 :(得分:1)

recycled view包含对未绑定字段对象的引用。如果要访问实际的绑定字段,则需要直接在self.fields上编制索引:

self

但是,我不建议这样做。而是使用像django-crispy-forms这样的第三方库。