it-swarm.com.de

Wie erhält man die Werte der Parameter von get request in flask?

Die Antwort, die ich im Web gefunden habe, ist request.args.get. Ich kann es jedoch nicht schaffen, zu arbeiten. Ich habe folgendes einfaches Beispiel:

from flask import Flask
app = Flask(__name__)

@app.route("/hello")
def hello():
    print request.args['x']
    return "Hello World!"

if __== "__main__":
    app.run()

Ich gehe zu 127.0.0.1:5000/hello?x=2 in meinem Browser und als Ergebnis erhalte ich:

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.

Was mache ich falsch?

44
Roman

Die einfache Antwort ist, dass Sie das globale Objekt request nicht aus dem Paket flask importiert haben.

from flask import Flask, request

Dies können Sie leicht selbst feststellen, indem Sie den Entwicklungsserver im Debug-Modus ausführen

app.run(debug=True)

Dies gibt Ihnen ein Stacktrace mit:

print request.args['x']
NameError: global name 'request' is not defined
76
sberry

http: // localhost: 5000/api/iterators/opel/next? n = 5

Für so etwas wie den Fall zuvor

from flask import Flask, request
n = request.args.get("n")

Kann den Trick machen

8
Joe9008