Python 使用';下一个';flask登录中的请求参数
我正在修改一个烧瓶应用程序。在它中,我有以下功能,正常工作:Python 使用';下一个';flask登录中的请求参数,python,flask,flask-login,Python,Flask,Flask Login,我正在修改一个烧瓶应用程序。在它中,我有以下功能,正常工作: @blueprint.route("/home/", methods=["GET", "POST"]) def home(): form = LoginForm(request.form) # Handle logging in if request.method == 'POST': if form.validate_on_submit(): login_user(fo
@blueprint.route("/home/", methods=["GET", "POST"])
def home():
form = LoginForm(request.form)
# Handle logging in
if request.method == 'POST':
if form.validate_on_submit():
login_user(form.user)
flash("You are logged in.", 'success')
redirect_url = request.args.get("next") or url_for("user.profile")
return redirect(redirect_url)
else:
flash_errors(form)
return render_extensions("public/home.html", form=form)
行中:
redirect_url = request.args.get("next") or url_for("user.profile")
我不理解“request.args.get(“next”)的目的。在我的例子中,当我查看请求对象时:
>>> request.args
ImmutableMultiDict([])
>>> request.args.get("next")
>>>
我已经阅读了文档()和许多stackoverflow问题,但仍然不确定我是否理解为什么以及如何使用“next”。下一个参数用于说明客户端应该重定向到哪个url 成功登录后。它用于涵盖以下场景: 客户端输入url
www.abcd.com/profile
假设这个路由应该只对经过身份验证的用户可访问(它由login\u所需的decorator修饰)。
如果客户端未通过身份验证,他将被重定向到登录页面,下一个参数将被设置为/profile,这样,如果身份验证成功,用户将被重定向到配置文件页面 谢谢你的帮助。关于“如果客户端未通过身份验证,他将被重定向到登录页面,并且下一个参数将被设置为/profile,这样,如果身份验证成功,用户将被重定向到配置文件页面。”我不确定我是否理解这是如何设置的,您能告诉我一个代码示例或进一步澄清这一点吗?