Umgang mit mehreren Formularen auf einer einzelnen Seite in Django
Wenn Sie mit mehreren Formularen auf einer einzigen Django-Vorlage arbeiten, ist es wichtig, das Formular zu bestimmen eingereicht wird, um die gleichzeitige Verarbeitung beider Formulare zu vermeiden. Die größte Herausforderung besteht darin, das gewünschte Formular innerhalb der POST-Daten zu identifizieren.
Mehrere Formularoptionen
Es gibt mehrere Ansätze, dieses Problem anzugehen:
Beispiellösung
Stellen Sie sich das folgende Szenario vor, in dem wir zwei Formulare auf einer Seite haben: erwartete Phrasenform und verbotene Phrasenform. Um ihre Übermittlung abzuwickeln, verwenden wir den folgenden Code:
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 Beispiel überprüfen wir die POST-Daten auf die Werte der Schaltfläche „Senden“. Basierend auf dem Wert instanziieren wir das entsprechende Formular und versuchen es zu speichern. Das Präfix stellt sicher, dass die übermittelten Daten korrekt an das Formular gebunden werden.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit mehreren Formularen auf einer einzelnen Django-Seite um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!