Ich verwende derzeit CreateView
für die Klasse Order
.Wie kann man die Formularvariable aus einer klassenbasierten generischen Ansicht in Django anpassen?
Ein Teil der urls.py
sieht wie folgt aus
url(
r'^orders/create/$',
CreateView.as_view(
model = Order,
template_name = 'doors/orders/create.html'
),
name = 'orders_create'
),
Wenn ich einfach eine {{ form }}
in einem oors/orders/create.html
tun, dann wird es alle Felder in models.py
erklärt angezeigt werden soll.
Was ist der beste Weg, um das Aussehen der einzelnen Felder anpassen und sogar zu steuern, ob sie überhaupt sichtbar sind oder nicht (einige Felder sind optional)?
Also soll ich das 'OrderCreateForm' in' models.py' erstellen? – hobbes3
Es ist eine gute Übung, Ihre benutzerdefinierten Formulare in einem Modul namens 'forms.py' zu speichern (auf derselben Ebene wie Ihre' models.py'). – mbaechtold
Ich habe die Dokumentation gelesen, die Sie verlinkt haben und [ihr vollständiges Beispiel hat alle Formularklassen richtig platziert neben den Modellklassen] (https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#a-full-example). Also die Dokumentation gab ein schlechtes Beispiel? – hobbes3