Flask
Accès aux données de demande
Recherche…
Introduction
Lorsque vous travaillez avec une application Web, il est parfois important d'accéder aux données incluses dans la demande, au-delà de l'URL.
Dans Flask, ceci est stocké sous l'objet global request , auquel vous pouvez accéder dans votre code via la from flask import request
.
Accéder à la chaîne de requête
La chaîne de requête est la partie d'une requête suivant l'URL, précédée d'un ?
marque.
Exemple: https://encrypted.google.com/search
?hl=en&q=stack%20overflow
Pour cet exemple, nous créons un simple serveur Web d'écho qui renvoie tout ce qui lui est soumis via le champ echo
dans GET
requêtes GET
.
Exemple: localhost:5000/echo
?echo=echo+this+back+to+me
Exemple de flacon :
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()
Forme combinée et chaîne de requête
Flask permet également d'accéder à un CombinedMultiDict qui donne accès aux attributs request.form
et request.args
sous une seule variable.
Cet exemple extrait des données d'un name
champ de formulaire soumis avec le champ echo
dans la chaîne de requête.
Exemple de flacon :
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()
Accéder aux champs de formulaire
Vous pouvez accéder aux données de formulaire soumises via une POST
ou PUT
dans Flask via l'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()