4
我必须制作一个表单,其中使用了多个formset。请告诉我这是否可能。如果是,那么如何?我可以在django的单一表单中使用多个formset,如果是的话,怎么样?
我必须制作一个表单,其中使用了多个formset。请告诉我这是否可能。如果是,那么如何?我可以在django的单一表单中使用多个formset,如果是的话,怎么样?
您可以在窗体中添加尽可能多的窗体。只需在视图中创建/初始化它们并传递到模板以在表单中呈现。
喜欢的东西:
{{ 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')
这并不正常工作。由于两个表单集的管理表单都是相同的,所以无法在模板中区分formset1.management_form和formset2.management_form。管理窗体实际上包含3个隐藏的输入字段:这些对于所有的表单集合都是相同的。我想知道为什么不django区分这些。 – tejinderss
@tejinderss,您需要在创建视图时使用前缀,请参阅https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-more-than-one-formset-in-a -view – Rohan
是的,谢谢指出。 – tejinderss