/ / Djangoクリスピーフォームとformsetは削除チェックボックスを表示しません-django、django-crispy-forms

Djangoのクリスピーフォームとformsetは削除チェックボックスを表示しません - django、django-crispy-forms

この例に非常によく似たコード構造がいくつかあります。 https://gist.github.com/ibarovic/3092910

各Book要素の後の削除チェックボックスがまったく表示されないことを除いて、すべてが非常にうまく機能しています。変更したら

{% crispy formset formset.form.helper %}

{% crispy formset %}

削除チェックボックスは表示されますが、フォームはもう機能しません(b / c HTMLフォームタグは1回だけ使用されません)。

これらのチェックボックスは知られていないと思うBookForm(b / cは後でinlineformset_factoryによって何らかの形で追加されます)ので、レイアウトに追加されず、無視されます。しかし、それを回避する方法はわかりません。

回答:

回答№1の場合は3

私はこれのおかげで解決策を見つけました: Django crispy-forms、BaseGenericInlineFormSetおよびallow_delete

BookForm(何度も繰り返されます) その中に、次のようなものを追加できます。

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"))

大文字の「削除」フィールドが各単一のBookFormに追加されます...