2016-04-27 90 views
0

上的所有表单集值我有一个看起来像这样的形式:Django的 - 如何显示网页

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}) 

这里是我的结果。 HTML:

{% for i in cd %} 
     {{item}} 
{% endfor%} 

result.html页我想表明item表单集的所有值,我在表单页面上输入。但我只有一个干净的页面。 我做错了什么。感谢您的帮助

+0

什么是'item'?你的迭代循环有'i',你做'{{item}}' – karthikr

+0

我认为'item'是'item = forms.IntegerField()' –

回答

2

您需要迭代您的formset,并将其传递给您的render方法为'item_formset'。所以,你result.html应该是这样的:

{% for item_form in item_formset %} 
    {{ item_form.item }} 
{% endfor %} 

通知你会被访问每个表单集表单上的item场,就像你在一个正常的形式。

+0

谢谢你,这是工作! –