/ / Django knuspriges Formular mit Formset zeigt kein Kontrollkästchen zum Löschen an - Django, Django-Knusprige-Formulare

Django knusprige Form mit Formset zeigt nicht löschen Checkbox - Django, Django-Crispy-Formen

Ich habe eine Codestruktur, die diesem Beispiel sehr ähnlich ist: https://gist.github.com/ibarovic/3092910

Alles funktioniert ziemlich gut, außer dass das Kontrollkästchen "Löschen" nach jedem Buchelement überhaupt nicht angezeigt wird. Wenn ich mich ändere

{% crispy formset formset.form.helper %}

zu

{% crispy formset %}

Die Lösch-Kontrollkästchen werden angezeigt, aber das Formular funktioniert nicht mehr (b / c die HTML-Formular-Tags werden nicht nur einmal verwendet)

Ich vermute, dass diese Kontrollkästchen nicht bekannt sinddie BookForm (b / c werden später irgendwie von der Inlineformset_factory hinzugefügt), damit sie nicht zum Layout hinzugefügt werden und ignoriert werden Ich habe keine Ahnung, wie ich das umgehen kann.

Antworten:

3 für die Antwort № 1

Ich habe eine Lösung gefunden: Knusprige Django-Formulare, BaseGenericInlineFormSet & allow_delete

In der BookForm (die oft wiederholt wird) drin, können Sie etwas hinzufügen:

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

Das Großbuchstaben "DELETE" Feld wird dann zu jeder einzelnen BookForm hinzugefügt ...