2012-07-04 24 views

回答

8

您可以在窗体中添加尽可能多的窗体。只需在视图中创建/初始化它们并传递到模板以在表单中呈现。

喜欢的东西:

{{ formset1.management_form }} 
{% for form in formset1 %} 
    {{ form }} 
{% endfor %} 

{{ formset2.management_form }} 
{% for form in formset2 %} 
    {{ form }} 
{% endfor %} 

您正在使用多个表单集在一个视图中,你需要使用前缀的形式在这里解释Using more than one formset in a view 简而言之:

article_formset = ArticleFormSet(prefix='articles') 
book_formset = BookFormSet(prefix='books') 
+0

这并不正常工作。由于两个表单集的管理表单都是相同的,所以无法在模板中区分formset1.management_form和formset2.management_form。管理窗体实际上包含3个隐藏的输入字段:这些对于所有的表单集合都是相同的。我想知道为什么不django区分这些。 – tejinderss

+1

@tejinderss,您需要在创建视图时使用前缀,请参阅https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-more-than-one-formset-in-a -view – Rohan

+0

是的,谢谢指出。 – tejinderss

相关问题