Verwenden Sie Django Forms zum Anzeigen und Bearbeiten?

Ich ringe mit der Frage, wie man am besten HTML-Seiten in Django erstellt, die entweder zum Anzeigen oder Bearbeiten von Daten verwendet werden können. Das heißt, ich möchte, dass die Werte des Felds im Anzeigemodus als Text angezeigt werden, im Bearbeitungs- / Hinzufügemodus jedoch in ihren Widgets. Es sieht so aus, als wäre Django nicht dafür ausgelegt: Die Felder erscheinen immer in ihren Widgets (z. B. Texteingabe, Textbereich usw.).

Gibt es eine übliche Technik, um damit umzugehen, ohne Formulare für das eine und nicht für das andere zu verwenden?

Ich dachte an einen benutzerdefinierten Templatetag-Filter, der für jedes Formularfeld verwendet werden kann, z.

{{form.field_name | render_field: mode}}

Dabei gibt render_field entweder das HTML-Widget des Felds zurück oder nur den Wert als Text, basierend auf dem Modus.

Habe ich etwas verpasst oder ist dies eine praktikable Lösung?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage