django模板中的表单字段

时间:2013-07-18 18:23:10

标签: django django-forms django-templates django-views

我有一个类似下面的表格

class Form(forms.Form):
   chr1 = forms.CharField(widget=forms.TextInput())
   email = forms.EmailField()
   chr2 = forms.CharField()

我的观看代码就像这样

def template(request):
    form = Form({})
    return render(request, 'mytemplate.html', {'form': form})

我的模板就像这样

{% for field in form.fields %}
{{ field.label_tag }}: {{ field }}
{% endfor %}

我希望这会输出一组输入字段。但上面的代码片段给出了如下所示的输出

: chr1
: email
: chr2 

1 个答案:

答案 0 :(得分:1)

根据文档here,您应该迭代表单对象本身而不是字段。因此,不要使用form.fields,只需使用表单。

{% for field in form %}
    {{ field.label_tag }}: {{ field }}
{% endfor %}

我刚刚发现了这个重复的问题:django: form.fields not iterating through instance fields