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

Patricia Arquette
Freigeben: 2024-10-30 08:15:27
Original
347 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
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!