Python: Comment obtenir de multiples variables à partir d'une URL dans le Flacon?
Je vais essayer d'obtenir de multiples arguments à partir d'une url dans le Flacon. Après la lecture de cette SORTE de réponse je pensais que je pouvais le faire comme ceci:
@app.route('/api/v1/getQ/', methods=['GET'])
def getQ(request):
print request.args.get('a')
print request.args.get('b')
return "lalala"
Mais lorsque je visite /api/v1/getQ/a=1&b=2
, je reçois un TypeError: getQ() takes exactly 1 argument (0 given)
. J'ai essayé d'autres url, comme /api/v1/getQ/?a=1&b=2
et /api/v1/getQ?a=1&b=2
, mais en vain.
Quelqu'un sait ce que je fais mal? Tous les conseils sont les bienvenus!
Votre fonction getQ(demande) attend un argument (demande ici). C'est ça le problème, votre fonction ne devrait pas prendre n'importe quel argument.
OriginalL'auteur kramer65 | 2014-02-15
Vous devez vous connecter pour publier un commentaire.
Vous avez mal lu le message d'erreur; l'exception est la façon dont les
getQ
est appelée avec python arguments, non pas le nombre de paramètres d'URL que vous avez ajouté à invoquer la vue.Flacon de points de vue ne pas prendre
request
comme un argument de fonction, mais de l'utiliser comme un contexte mondial de la place. Supprimerrequest
à partir de la signature de la fonction:Votre syntaxe pour accéder à des paramètres d'URL est par ailleurs tout à fait correct. Notez que
methods=['GET']
est la valeur par défaut pour les routes, vous pouvez laisser ça de côté.OriginalL'auteur Martijn Pieters
Vous pouvez essayer ce pour obtenir plusieurs arguments à partir d'une url dans le Flacon:
--- demande curl---
--- flacon serveur---
---imprimer de la barre de---
P. S. Ne pas omettre les guillemets(" ") avec curl option, ou il ne fonctionne pas sous Linux parce que "&"
question similaire Plusieurs paramètres en Flacon approute
OriginalL'auteur Little Roys