Heim  >  Artikel  >  Backend-Entwicklung  >  Warum werden meine Flask-Formulardaten nicht übermittelt?

Warum werden meine Flask-Formulardaten nicht übermittelt?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 09:38:27816Durchsuche

Why is my Flask Form Data not Being Submitted?

Formularwerte in Flask senden

Um Formularwerte effektiv in einer Flask-Anwendung zu veröffentlichen und abzurufen, stellen Sie sicher, dass Ihre Formularelemente ein eindeutiges und haben informatives Namensattribut.

Problem:

Im bereitgestellten Code fehlt den Formularfeldern das Namensattribut, was dazu führt, dass „request.form“ leer bleibt und ein 400-Fehler auftritt beim Versuch, auf Werte nach ID zuzugreifen.

<pre class="lang-html prettyprint-override"><input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form>

Lösung:

Weisen Sie Ihren Eingabeelementen entsprechende Namenswerte zu:

<pre class="lang-html prettyprint-override"><input name="my_input" id="my_input" type="text" value="{{ email }}">

Einmal Wenn dies implementiert ist, interpretiert Flask die übermittelten Formulardaten korrekt und macht sie über request.form zugänglich:

@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints ImmutableMultiDict({ 'my_input': {{ email }}})
        print(request.form['my_input'])  # displays the value of 'my_input'
    return render_template('page.html')

Das obige ist der detaillierte Inhalt vonWarum werden meine Flask-Formulardaten nicht übermittelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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