2015-01-09 2 views
0
import flask 

app = flask.Flask(__name__) 

@app.route("/") 
def index(): 
    return "You need to login" 

@app.route('/login', methods=['GET', 'POST']) 
def login(): 
    query = flask.request.query_string # query is printed in terminal 
    login = flask.request.get('login') # here getting AttributeError 
    print query, login 
    if flask.request.method == 'POST': 
     return "User is {}, Password is {}".format(flask.request.form['login'],flask.request.form['password']) 
    else: 
     return flask.render_template("login.html") 


if __name__ == '__main__': 
    app.run(debug=True, host='0.0.0.0') 

Когда я прохожу URL в браузере http://127.0.0.1:5000/login?login=hello&password=1234, он говорит:Колба параметр URL захвата

AttributeError: 'Request' object has no attribute 'get' 
+2

[Docs предложить] (http://flask.pocoo.org/docs/0.10/quickstart/#accessing-request-data) вам нужно использовать 'запрос. args.get ('Войти') '. –

+0

ohhhh silly me thanks :) – Hackaholic

ответ

1

Сообщение об ошибке правильно, то колба request object не имеет такого метода.

Возможно, вы хотели использовать это на объекте request.args или request.valuesMultiDict? MultiDict объекты сделать имеют .get() method:

login = flask.request.args.get('login') 
+0

ahh спасибо, иногда глупые вещи делают это худшим, спасибо :) – Hackaholic

+0

Скоро будет accecp ur, его рассказ 6 минут, подождите, до тех пор +1 – Hackaholic

Смежные вопросы