Heim >Backend-Entwicklung >Python-Tutorial >Wie gehe ich mit mehreren Formularen in einer einzigen Django-Ansicht um?
Verwaltung mehrerer Formulare in Django
In Django kann die Verarbeitung mehrerer Formulare auf einer einzigen Seite eine Herausforderung darstellen. Sehen wir uns zwei praktikable Ansätze zur Bewältigung dieses Szenarios an:
Ansatz 1: Separate URLs für Formulare
Weisen Sie jedem Formular unterschiedliche URLs zu. Dies führt zu separaten Ansichtsfunktionen, die die Übermittlungen verarbeiten. Der Vorteil dieser Methode liegt in ihrer Einfachheit und Codeorganisation.
Ansatz 2: Werte der Schaltfläche „Senden“ nutzen
Wenn Sie die Formulare auf derselben Seite behalten möchten, Sie können sie anhand der Werte der Schaltfläche „Senden“ unterscheiden. Das folgende Code-Snippet demonstriert diesen Ansatz:
if request.method == 'POST': if 'bannedphrase' in request.POST: bannedphraseform = BannedPhraseForm(request.POST, prefix='banned') if bannedphraseform.is_valid(): bannedphraseform.save() expectedphraseform = ExpectedPhraseForm(prefix='expected') elif 'expectedphrase' in request.POST: expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected') if expectedphraseform.is_valid(): expectedphraseform.save() bannedphraseform = BannedPhraseForm(prefix='banned') else: bannedphraseform = BannedPhraseForm(prefix='banned') expectedphraseform = ExpectedPhraseForm(prefix='expected')
In diesem Code sind „bannedphrase“ und „expectedphrase“ die Namen der Absenden-Schaltflächen, während „bannedphraseform“ und „expectedphraseform“ die entsprechenden Formen sind. Indem Sie prüfen, ob diese Schaltflächen in den POST-Daten der Anfrage vorhanden sind, können Sie erkennen, welches Formular übermittelt wurde, und es entsprechend verarbeiten.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit mehreren Formularen in einer einzigen Django-Ansicht um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!