以正确的方式使用javascript将动态表单添加到django表单集 [英] Add a dynamic form to a django formset using javascript in a right way

查看:10
本文介绍了以正确的方式使用javascript将动态表单添加到django表单集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将动态表单添加到模板中的 django 表单集,而无需烦人的 html 模板输出副本?

我有一个结果表单数量未知的表单集,我需要通过按下按钮直接在模板中添加一些表单.

解决方案

这个自我回答基于 这篇文章 由 Nick Lang 撰写,但我们将以这种方式进行简化,我们不再需要复制/粘贴整个表单 html.

我们有一个在这样的视图中创建的内联表单集:

items_formset = inlineformset_factory(Parent, Item, form=ItemForm, extra=1)item_forms = items_formset()

接下来,我们需要为 out formset 表单创建一个模板,我们可以使用 formset 实例的 empty_form 属性来完成,它会生成一个 html 表单模板,其中表单的每个id"编号是替换为 __prefix__ 字符串,例如: