Pas évident dans la documentation de la fiole sur la façon d'obtenir la chaîne de requête. Je suis nouveau, j'ai regardé les documents, je n'ai pas pu trouver!
Donc
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
python
flask
query-string
Tampa
la source
la source
Réponses:
la source
L'URL complète est disponible en tant que
request.url
et la chaîne de requête est disponible en tant querequest.query_string
.Voici un exemple:
Pour accéder à un paramètre connu individuel passé dans la chaîne de requête, vous pouvez utiliser
request.args.get('param')
. Pour autant que je sache, c'est la "bonne" façon de procéder.ETA: Avant d'aller plus loin, vous devez vous demander pourquoi vous voulez la chaîne de requête. Je n'ai jamais eu à extraire la chaîne brute - Flask a des mécanismes pour y accéder de manière abstraite. Vous devez les utiliser, sauf si vous avez une raison impérieuse de ne pas le faire.
la source
Werkzeug / Flask a déjà tout analysé pour vous. Plus besoin de refaire le même travail avec urlparse:
La documentation complète pour les objets de demande et de réponse se trouve dans Werkzeug: http://werkzeug.pocoo.org/docs/wrappers/
la source
Nous pouvons le faire en utilisant request.query_string.
Exemple:
Considérons view.py
Vous le rendez également plus modulaire en utilisant Flask Blueprints - http://flask.pocoo.org/docs/0.10/blueprints/
Considérons que le prénom est passé en tant que partie de la chaîne de requête / web_url /? First_name = john
Comme vous le voyez, ce n'est qu'un petit exemple - vous pouvez récupérer plusieurs valeurs + les formater et les utiliser ou les transmettre au fichier modèle.
la source
Je suis venu ici à la recherche de la chaîne de requête, pas comment obtenir des valeurs de la chaîne de requête.
request.query_string
renvoie les paramètres d'URL sous forme de chaîne d'octets bruts (Réf 1).Exemple d'utilisation
request.query_string
:Production:
Références:
la source
Essayez comme ceci pour la chaîne de requête:
Production:
la source
Chaque forme de la chaîne de requête récupérable à partir de l'objet de demande de flacon, comme décrit dans O'Reilly Flask Web Devleopment :
De O'Reilly Flask Web Development , et comme indiqué précédemment par Manan Gouhari, vous devez d'abord importer la demande:
request
est un objet exposé par Flask comme une variable de contexte nommée (vous l'avez deviné)request
. Comme son nom l'indique, il contient toutes les informations que le client a incluses dans la requête HTTP. Cet objet possède de nombreux attributs et méthodes que vous pouvez récupérer et appeler, respectivement.Vous avez plusieurs
request
attributs qui contiennent la chaîne de requête parmi laquelle choisir. Ici, je vais lister chaque attribut qui contient de quelque manière que ce soit la chaîne de requête, ainsi qu'une description du livre O'Reilly de cet attribut.Il y a d'abord
args
qui est "un dictionnaire avec tous les arguments passés dans la chaîne de requête de l'URL". Donc, si vous voulez que la chaîne de requête soit analysée dans un dictionnaire, vous feriez quelque chose comme ceci:(Comme d'autres l'ont souligné, vous pouvez également utiliser
.get('<arg_name>')
pour obtenir une valeur spécifique du dictionnaire)Ensuite, il y a l'
form
attribut, qui ne pas contenir la chaîne de requête, mais qui figure dans la partie d'un autre attribut qui ne comprend la chaîne de requête que je vais énumérer quelques instants. Tout d'abord, cependant,form
"Un dictionnaire avec tous les champs du formulaire soumis avec la demande". Je dis cela pour dire ceci: il y a un autre attribut de dictionnaire disponible dans l'objet de demande de flacon appelévalues
.values
est "Un dictionnaire qui combine les valeurs dansform
etargs
." La récupération ressemblerait à ceci:(Encore une fois, utilisez
.get('<arg_name>')
pour obtenir un élément spécifique du dictionnaire)Une autre option est celle
query_string
qui est «La partie chaîne de requête de l'URL, en tant que valeur binaire brute». Exemple de cela:Ensuite, comme bonus supplémentaire, il y a
full_path
"Le chemin et les parties de chaîne de requête de l'URL". Por ejemplo:Et enfin,
url
"L'URL complète demandée par le client" (qui inclut la chaîne de requête):Joyeux piratage :)
la source
Cela peut être fait en utilisant
request.args.get()
. Par exemple, si votre chaîne de requête contient un champdate
, vous pouvez y accéder en utilisantN'oubliez pas d'ajouter "
request
" à la liste des importations à partir du flacon, c'est-à-direla source
request.args.get()
; les nouvelles réponses aux anciennes questions devraient contenir quelque chose qui n'a pas été mentionné auparavant.Si la demande si GET et nous avons passé certains paramètres de requête,
la source