So rufen Sie übermittelte Formularwerte in Flask ab: Warum ist request.form leer?

DDD
Freigeben: 2024-10-30 03:53:02
Original
628 Leute haben es durchsucht

How to Retrieve Submitted Form Values in Flask: Why is request.form Empty?

Übergabe und Zugriff auf Formularwerte in Flask

Bei der Entwicklung von Webfunktionen ist die Handhabung von Formularübermittlungen von entscheidender Bedeutung. Um diesen Prozess in Flask zu erleichtern, können beim Abrufen übermittelter Formularwerte Probleme auftreten. Dieser Artikel konzentriert sich darauf, zu verstehen, wie man Werte aus HTML-Formularen übermittelt und in Flask-Ansichten darauf zugreift.

Problemstellung

Betrachten Sie das folgende HTML-Formular:

<code class="html"><form method="POST">
  <input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>
Nach dem Login kopieren

Und a entsprechende Flask-Route:

<code class="python">@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints ImmutableMultiDict([])
        print(request.form['my_input'])  # raises 400 error
    return render_template('page.html')</code>
Nach dem Login kopieren

Beim Absenden des Formulars stellen Sie möglicherweise fest, dass request.form leer ist. Der Versuch, den Wert für my_input direkt abzurufen, führt zu einem 400-Fehler.

Lösung

Der Kern des Problems liegt im Fehlen eines Namensattributs in den Eingabefeldern. Damit Flask das Formular ordnungsgemäß verarbeiten kann, sollte jede Eingabe über ein Namensattribut verfügen, das dem gewünschten Schlüssel in request.form entspricht. In diesem Fall sollte die folgende Änderung das Problem beheben:

<code class="html"><input name="my_input" id="my_input" type="text" value="{{ email }}"></code>
Nach dem Login kopieren

Durch Hinzufügen des Namensattributs wird der Eingabewert mit dem Schlüssel „my_input“ an den Server übermittelt. Folglich können Sie den Wert nahtlos in Ihrer Flask-Ansicht abrufen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie übermittelte Formularwerte in Flask ab: Warum ist request.form leer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!