2014-03-13 10 views
32

Die Antwort, die ich im Internet gefunden habe, ist request.args.get zu verwenden. Ich kann es jedoch nicht schaffen. Ich habe folgendes einfaches Beispiel:Wie erhalten Werte von Parametern der Get-Anfrage in Kolben?

from flask import Flask 
app = Flask(__name__) 

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

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

ich zum 127.0.0.1:5000/hello?x=2 in meinem Browser gehen 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?

+1

es tut etwa auf halbem Weg der [quickstart-Seite unter Zugriff auf Daten anfordern] (http://flask.pocoo.org/docs/0.10/quickstart/# Zugriff auf Request-Daten) unter [context local] (http://flask.pocoo.org/docs/0.10/quickstart/#context-locals) –

Antwort

61

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

from flask import Flask, request 

Dies ist einfach, sich selbst zu bestimmen, indem die Entwicklungs-Server im Debug-Modus ausgeführt wird durch

app.run(debug=True) 

tun Dies gibt Ihnen einen Stacktrace einschließlich:

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