La réponse que j'ai trouvée sur le Web est d'utiliser request.args.get
. Cependant, je ne parviens pas à le faire fonctionner. J'ai l'exemple simple suivant:
from flask import Flask
app = Flask(__name__)
@app.route("/hello")
def hello():
print request.args['x']
return "Hello World!"
if __== "__main__":
app.run()
Je vais à la 127.0.0.1:5000/hello?x=2
dans mon navigateur et par conséquent, je reçois:
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Qu'est-ce que je fais mal?
La réponse simple est que vous n’avez pas importé l’objet global request
à partir du package flask.
from flask import Flask, request
Ceci est facile à déterminer vous-même en exécutant le serveur de développement en mode débogage en faisant
app.run(debug=True)
Cela vous donnera un stacktrace comprenant:
print request.args['x']
NameError: global name 'request' is not defined
http: // localhost: 5000/api/iterators/opel/next? n = 5
Pour quelque chose comme le cas avant
from flask import Flask, request
n = request.args.get("n")
Peut faire l'affaire