Ich habe einen Django Formset, den ich in der Mitte eines anderen Formulars erstellen möchte. Ich verwende django-crispy-forms__init__
ist das Layout in dem übergeordneten Formular zu setzen:django knusprige Formen: Verschachteln eines Formsets in einem Formular
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Field, Div
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.layout = Layout(
Div(
Div(Field('foo'), css_class='span3'),
Div(Field('bar'), css_class='span4'),
css_class='row'
),
Field('baz', css_class='span1'),
...
)
self.helper.add_input(Submit('submit', 'Submit', css_class='btn btn-primary offset4'))
Meine Vorlage einfach macht das Formular mit dem {% crispy %}
-Tag.
Ich würde gerne wissen, wie ich das Formset integrieren sollte. Sollte ich es in der obigen Init-Funktion instanziieren? Wie beziehe ich mich darauf?
Es gibt other examples von Form- und Formset-Combos online, die einen Render nach dem anderen seriell haben, aber ich frage mich, ob ich mehr Kontrolle darüber haben kann, wie sie mit knusperigem Layout zusammenpassen.
Eine geringfügige Änderung, die ich empfehlen würde, ist, einen optionalen Parameter zum Formset LayoutObject für 'formset_helper' hinzuzufügen. Das funktioniert genauso. Auf diese Weise können Sie auch den benutzerdefinierten Helfer übergeben. – Alejandro
In welche Dateien werden diese Codes geschrieben? Wo platziere ich formset.html? Und was ist Formset ("Bildung"); Woher kommt es? –