Heim  >  Artikel  >  Backend-Entwicklung  >  Wie greife ich auf Formularwerte in einer Flask-Ansicht zu, wenn Eingabeelemente keine „Name“-Attribute haben?

Wie greife ich auf Formularwerte in einer Flask-Ansicht zu, wenn Eingabeelemente keine „Name“-Attribute haben?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 08:15:27332Durchsuche

How to Access Form Values in a Flask View When Input Elements Lack

Formularwerte in einer Flask-Ansicht veröffentlichen

In einer Flask-Anwendung kann der Zugriff auf Formularwerte aus einem vom Kunden übermittelten HTML-Formular eine Herausforderung sein, wenn Den Eingabeelementen des Formulars fehlt ein „Name“-Attribut.

Problem:

Wenn ein HTML-Formular ohne Angabe der „Name“-Attribute für seine Eingaben übermittelt wird, wird Flask dies tun Gibt ein leeres request.form-Wörterbuch zurück. Dies liegt daran, dass der Server die übermittelten Werte nicht bestimmten Formularfeldern zuordnen kann.

Lösung:

Damit Flask korrekt auf Formularwerte zugreifen kann, stellen Sie sicher, dass jedes Eingabeelement in Das HTML-Formular verfügt über ein eindeutiges „Name“-Attribut. Dieses Attribut bestimmt den Schlüssel, der verwendet wird, um den übermittelten Wert mit dem entsprechenden Formularfeld in der Flask-Ansicht zu verknüpfen.

Betrachten Sie beispielsweise 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>

In der entsprechenden Flask-Ansicht , ist das Wörterbuch „request.form“ leer, da den Eingaben des Formulars die Attribute „Name“ fehlen. Um dieses Problem zu beheben, fügen Sie „Name“-Attribute zu den Eingabeelementen hinzu:

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

Mit den vorhandenen „Name“-Attributen kann Flask nun übermittelte Werte den entsprechenden Formularfeldern zuordnen. Sie können dann über das Wörterbuch „request.form“ in der Ansicht auf die Formularwerte zugreifen:

<code class="python">@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints {'my_input': 'value'}
        print(request.form['my_input'])  # prints 'value'
    return render_template('page.html')</code>

Das obige ist der detaillierte Inhalt vonWie greife ich auf Formularwerte in einer Flask-Ansicht zu, wenn Eingabeelemente keine „Name“-Attribute haben?. 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