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()