带有表单集的 Django 脆皮表单不显示删除复选框

Kop*_*ger 1 django django-crispy-forms

我有一些与此示例非常相似的代码结构:https : //gist.github.com/ibarovic/3092910

一切都运行良好,除了根本没有显示每个 Book 元素之后的删除复选框。如果我改变

{% crispy formset formset.form.helper %}
Run Code Online (Sandbox Code Playgroud)

{% crispy formset %}
Run Code Online (Sandbox Code Playgroud)

显示删除复选框,但表单不再工作(b/c HTML 表单标签不仅使用一次)。

我怀疑 BookForm 不知道这些复选框(b/c 它们稍后会被 inlineformset_factory 添加),因此它们不会被添加到布局中并被忽略。我不知道如何规避。

Kop*_*ger 6

由于这个,我找到了一个解决方案:Djangocrispy-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"))
Run Code Online (Sandbox Code Playgroud)

然后将大写字母“DELETE”字段添加到每个单个 BookForm 中...