flask视图函数打上@login_request装饰器之后。访问该视图的时候如果没有登录会弹出登录页面而且会有一个next参数,表示之前想访问的视图函数。登陆之后会跳到这个next视图。代码如下:
next = request.args.get('next') # 这样获取next参数
if not next or not next.startwith('/'):
next = url_for('web.index')
return redirect(next)
html代码如下:
<form action="{{ url_for('web.login') }}" method="post">
但是遇到这种情况的时候会出现next参数为none的情况,因为跳转到登录页面是是有next参数的,但是点击登陆之后的URL next参数就没有了。这个时候在html页面里作如下修改:
<form action="{{ url_for('web.login',next=request.args.next) }}" method="post">
这样就成功跳转了。