web-dev-qa-db-fra.com

Comment obtenir les valeurs des variables de requête avec Python et Flask

Je me demande comment obtenir la valeur d’une variable de requête POST/GET en utilisant Python avec Flask.

Avec Ruby, je ferais quelque chose comme ça:

variable_name = params["FormFieldValue"]

Comment pourrais-je faire cela avec Flask?

58
dougiebuckets

Vous pouvez obtenir des données de formulaire publiées à partir de request.form et interroge les données de chaîne de request.args.

myvar =  request.form["myvar"]
myvar = request.args["myvar"]
61
user1807534

Si vous voulez récupérer les données POST,

first_name = request.form.get("firstname")

Si vous souhaitez récupérer des données GET (chaîne de requête),

first_name = request.args.get("firstname")

Ou si vous ne vous souciez pas de savoir si la valeur est dans la chaîne de requête ou dans les données de publication,

first_name = request.values.get("firstname"). 

request.values ​​est un CombinedMultiDict qui combine les dictés de request.form et request.args.

129
Jason

Ajoutant plus à la manière plus généralisée de Jason de récupérer les données POST ou les données GET

from flask_restful import reqparse

def parse_arg_from_requests(arg, **kwargs):
    parse = reqparse.RequestParser()
    parse.add_argument(arg, **kwargs)
    args = parse.parse_args()
    return args[arg]

form_field_value = parse_arg_from_requests('FormFieldValue')
3
Amit Kushwaha