2016-04-27 87 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

謝謝你,這是工作! –