English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das HTTP-Protokoll ist die Grundlage für Datenkommunikation im World Wide Web. Es definiert Methoden, um verschiedene Daten von spezifischen URLs abzurufen.
Die folgende Tabelle gibt eine Übersicht über verschiedene HTTP-Methoden -
Nummer | Methode | Beschreibung |
1 | GET | Senden Sie Daten unverschlüsselt an den Server, dies ist der häufigste verwendete Weg. |
2 | HEAD | Wie GET, aber ohne Antwortkörper |
3 | POST | Verwendet, um HTML-Formulardaten an den Server zu senden. Daten, die mit POST-Methode empfangen werden, werden nicht vom Server zwischengespeichert. |
4 | PUT | Ersetzen Sie alle aktuellen Darstellungen der Zielressource mit dem hochgeladenen Inhalt. |
5 | DELETE | Löschen Sie alle Ressourcen, die durch die URL angegeben sind |
Standardmäßig antwortet Flask-Routen auf GET-Anfragen. Dies kann jedoch geändert werden, indem Methodenparameter an den route() Dekorator übergeben werden.
Um zu demonstrate, wie man POST-Methoden in URL-Routen verwendet, erstellen Sie zunächst ein HTML-Formular und senden Sie die Formulardaten mit POST-Methode an die URL.
Speichern Sie den folgenden Skript in der Datei: login.html
# Dateiname : example.py # Copyright : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Flask HTTP请求方法处理</title> </head> <body> <form action="http://localhost:5000/login" method="post"> <p>输入姓名:</p> <p><input type="text" name="name" value=""/></p> <p><input type="submit" value="提交" /></p> </form> </body> </html>
Geben Sie den folgenden Skript im Python-Shell ein.
# Dateiname : example.py # Copyright : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route('/success/<name>') def success(name): return 'welcome %s' % name @app.route('/login', methods = ['POST', 'GET']) def login(): if request.method == 'POST': user = request.form['name'] return redirect(url_for('success', name = user)) else: user = request.args.get('name') return redirect(url_for('success', name = user)) if __name__ == '__main__': app.run(debug = True)
Nachdem der Entwickler-Server gestartet wurde, öffnen Sie login.html im Browser, geben Sie den Namen (z.B.): maxsu ) und klicken Einreichen.
Die Formulardaten werden an die URL gesendet, die durch das action-Attribut des <form>-Tags angegeben wird.
http://localhost:5000/login wird auf die Funktion login() gemappt. Da die Daten durch das POST-Verfahren vom Server empfangen wurden, wird der Wert des 'name'-Parameters aus den Formulardaten erhalten, auf die folgende Weise:-
# Dateiname : example.py # Copyright : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 user = request.form['name']
Es wird als veränderlicher Teil an die URL weitergeleitet:/Erfolg. Der Browser zeigt eine Begrüßungsnachricht im Fenster an.
Ändern Sie den Methodenparameter in login.html in GET und öffnen Sie ihn erneut im Browser. Die vom Server empfangenen Daten sind über das GET-Verfahren übermittelt. Der Wert des 'name'-Parameters wird auf die folgende Weise erhalten: -
# Dateiname : example.py # Copyright : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 User = request.args.get('name')
Hier ist args ein Dictionary-Objekt, das eine Reihe von Formularparametern und ihren entsprechenden Werten enthält. Wie zuvor wird der Wert, der mit dem 'name'-Parameter korrespondiert, an die URL weitergeleitet:/Erfolg.