/ / Django chrupiąca forma z formularzem nie pokazuje pola wyboru usuwania - django, django-crispy-forms

Django chrupiąca forma z formularzem nie pokazuje pola wyboru usuwania - django, django-crispy-forms

Mam trochę struktury kodu bardzo podobne do tego przykładu: https://gist.github.com/ibarovic/3092910

Wszystko działa całkiem dobrze, z wyjątkiem tego, że pole wyboru usuwania po każdym elemencie Book nie jest w ogóle pokazywane. Jeśli się zmienię

{% crispy formset formset.form.helper %}

do

{% crispy formset %}

pola wyboru kasowania są wyświetlane, ale formularz już nie działa (b / c znaczniki formularza HTML są używane nie tylko raz).

Podejrzewam, że te pola nie są znaneBookForm (b / c są one w jakiś sposób dodawane później przez inlineformset_factory), więc nie są dodawane do układu i są ignorowane. Nie mam pojęcia, jak tego uniknąć.

Odpowiedzi:

3 dla odpowiedzi № 1

Znalazłem rozwiązanie dzięki temu: Django, chrupiące formy, BaseGenericInlineFormSet i allow_delete

W BookForm (który powtarza się wiele razy) w tymmożesz dodać coś takiego:

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

Wielkie litery "DELETE" pole zostanie dodane do każdego pojedynczego BookForm ...