Flask
Zugriff auf Anfragedaten
Suche…
Einführung
Bei der Arbeit mit einer Webanwendung ist es manchmal wichtig, auf Daten zuzugreifen, die über die URL hinaus in der Anfrage enthalten sind.
In Flask wird dies unter dem globalen Anforderungsobjekt gespeichert, auf das Sie in Ihrem Code über die Flask- from flask import request zugreifen können.
Zugriff auf Abfragezeichenfolge
Die Abfragezeichenfolge ist der Teil einer Anforderung, der auf die URL folgt, und ein vorangestelltes ? Kennzeichen.
Beispiel: https://encrypted.google.com/search ?hl=en&q=stack%20overflow
In diesem Beispiel erstellen wir einen einfachen Echo-Webserver, der alles zurücksendet, das über das echo Feld in GET Anforderungen an ihn gesendet wurde.
Beispiel: localhost:5000/echo ?echo=echo+this+back+to+me
Flaschenbeispiel :
from flask import Flask, request
app = Flask(import_name=__name__)
@app.route("/echo")
def echo():
to_echo = request.args.get("echo", "")
response = "{}".format(to_echo)
return response
if __name__ == "__main__":
app.run()
Kombinierte Form und Abfragezeichenfolge
Flask ermöglicht auch den Zugriff auf ein CombinedMultiDict, das unter einer Variablen Zugriff auf die Attribute request.form und request.args .
Dieses Beispiel zieht Daten aus einem Formularfeld name mit dem vorgelegten entlang echo Feld in dem Abfrage - String.
Flaschenbeispiel :
from flask import Flask, request
app = Flask(import_name=__name__)
@app.route("/echo", methods=["POST"])
def echo():
name = request.values.get("name", "")
to_echo = request.values.get("echo", "")
response = "Hey there {}! You said {}".format(name, to_echo)
return response
app.run()
Zugriff auf Formularfelder
Sie können auf die über eine POST oder PUT Anforderung in Flask übergebenen request.form über das Attribut request.form .
from flask import Flask, request
app = Flask(import_name=__name__)
@app.route("/echo", methods=["POST"])
def echo():
name = request.form.get("name", "")
age = request.form.get("age", "")
response = "Hey there {}! You said you are {} years old.".format(name, age)
return response
app.run()