この例に非常によく似たコード構造があります: https://gist.github.com/ibarovic/3092910
各 Book 要素の後の削除チェックボックスがまったく表示されないことを除いて、すべてがうまく機能しています。私が変われば
{% crispy formset formset.form.helper %}
に
{% crispy formset %}
削除チェックボックスが表示されていますが、フォームは機能しません (b/c HTML フォーム タグは 1 回だけ使用されません)。
これらのチェックボックスは BookForm に認識されていない (b/c は後で inlineformset_factory によって何らかの形で追加されます) と思われるため、レイアウトに追加されず、無視されます。それを回避する方法がわかりません。
これのおかげで解決策が見つかりました: Django クリスピーフォーム、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 に追加されます...
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加