我的表单看起来像这样:
class ItemForm(forms.Form):
item = forms.IntegerField()
这是我的表格的观点:
def testform(request):
item_form = formset_factory(ItemForm, extra=2)
if request.method == 'POST':
item_formset = item_form(request.POST, prefix='items')
if item_formset.is_valid():
for items in item_formset:
cd = items.cleaned_data
item = cd.get('item')
return render(request, 'testform/result.html', {'item_formset':item_formset})
else:
item_formset = item_form(prefix='items')
return render(request, 'testform/index.html', {'item_formset':item_formset})
这是我的result.html:
{% for i in cd %}
{{item}}
{% endfor%}
在result.html
页面上,我想显示在表单页面上输入的item
formset的所有值。但我只是干净的页面。
我做错了什么。谢谢你的帮助
答案 0 :(得分:2)
您需要遍历您的formset,并将其作为'item_formset'传递给render
方法。所以你的result.html
应该是这样的:
{% for item_form in item_formset %}
{{ item_form.item }}
{% endfor %}
请注意,您将访问每个formset表单上的item
字段,就像在普通表单中一样。
答案 1 :(得分:1)
您可以迭代表单集中的每个元素或一次显示整个表单集。您可以在此处找到它:https://docs.djangoproject.com/en/1.7/topics/forms/formsets/#understanding-the-managementform