django 模板中的表单字段
Posted
技术标签:
【中文标题】django 模板中的表单字段【英文标题】:Form fields in django templates 【发布时间】:2013-07-17 20:35:34 【问题描述】:我有一个类似下面的表格
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 %
我希望这会输出一组输入字段。但是上面的 sn-p 给出的输出如下所示
: chr1
: email
: chr2
【问题讨论】:
django: form.fields not iterating through instance fields 的可能重复项 【参考方案1】:根据文档here,您应该迭代表单对象本身而不是字段。所以不要使用form.fields,而是使用form。
% for field in form %
field.label_tag : field
% endfor %
我也发现了这个重复的问题:django: form.fields not iterating through instance fields
【讨论】:
谢谢。这样可行。有没有办法我可以只使用字段而不使用表单,包括模板和视图?当我尝试从视图中传递一个字段并直接在模板中使用它时,我得到了<django.forms.fields.CharField object at 0x02A8B030>
我的要求是动态添加表单字段,而不是一组固定的字段。
不确定我是否完全理解您的意思...但是您看过 FormSets 吗?以上是关于django 模板中的表单字段的主要内容,如果未能解决你的问题,请参考以下文章