Flask获取“POST”请求的“下一个”参数

时间:2014-08-01 06:22:51

标签: python flask flask-login

有一个登录功能,它接受来自POST请求的数据。但在这种情况下,“next”查询参数将被忽略。访问除request.args ??

之外的“下一个”查询参数的替代方法是什么

以下是我的登录功能

@route('/login/', methods=['GET', 'POST'], endpoint='login')
def login(self):
    form = LoginForm()
    if form.validate_on_submit():
        user = check_login(email=request.form['email'], password=request.form['password'])
        if user:
           login_user(user)
           return redirect(request.args.get('next') or url_for('index'))
        else:
           # something else
    return render_template('login.html', form=form)

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要使用values

  

CombinedMultiDict,包含form和args的内容。

这样,无论您设置next的位置,您都可以检索它:

@route('/login/', methods=['GET', 'POST'], endpoint='login')
def login(self):
    redirect_url = request.values.get('next', url_for('index'))