J'essaie de créer une simple API REST à l'aide de l'application de bouteille Python. Je ne parviens pas à récupérer les variables GET à partir de l'objet global de demande. Any suggestions pour récupérer ceci depuis la requête GET?
Ils sont stockés dans l'objet request.query
.
http://bottlepy.org/docs/dev/tutorial.html#query-variables
Il semble que vous puissiez également y accéder en traitant l'attribut request.query
comme un dictionnaire:
request.query['city']
Donc, dict(request.query)
créerait un dictionnaire de tous les paramètres de la requête.
Comme @mklauber le fait remarquer, cela ne fonctionnera pas pour les caractères multi-octets. Il semble que la meilleure méthode est la suivante:
my_dict = request.query.decode()
Si vous les voulez tous:
dicc = parse_qs(request.query_string)
Si vous en voulez un:
one = request.GET.get('one', '').strip()
Pouvez-vous essayer ceci s'il vous plaît:
Pour cet exemple: http: // localhost: 8080/command? Nom_param = valeur_param
Dans votre code:
param_value = request.query.param_name
des docs
name = request.cookies.name
# is a shortcut for:
name = request.cookies.getunicode('name') # encoding='utf-8' (default)
# which basically does this:
try:
name = request.cookies.get('name', '').decode('utf-8')
except UnicodeError:
name = u''
Donc, vous préférerez peut-être utiliser l'attribut accessor (request.query.nom_variable) à request.query.get ('nom_variable')
Un autre point est que vous pouvez utiliser request.params.nom_variable qui fonctionne à la fois pour les méthodes GET et POST, plutôt que d’échanger demande.query.nom_variable ou request.forms.nom_variable selon GET/POST.