我有一些与此示例非常相似的代码结构:https://gist.github.com/ibarovic/3092910
除了每个Book元素之后的删除复选框都没有显示外,一切都运行良好。如果我改变
{% crispy formset formset.form.helper %}
到
{% crispy formset %}
显示删除复选框,但表单不再起作用(b / c HTML表单标签不仅使用一次)。
我怀疑BookForm不知道那些复选框(b / c它们稍后会被inlineformset_factory添加),因此它们不会被添加到布局中而被忽略。我不知道如何规避这一点。
答案 0 :(得分:3)
我找到了一个解决方案:Django crispy-forms, BaseGenericInlineFormSet & allow_delete
在BookForm(重复多次) init 中,您可以添加以下内容:
self.helper = FormHelper(form=self) # or manual layout
self.helper.form_tag = False
i = self.helper.layout.fields.index('title')
self.helper.layout.insert(i+1, layout.Field("DELETE"))
然后将大写字母“DELETE”字段添加到每个单一的BookForm ......