用户位于包含评论的页面。如果它们已经被放入,那么他们可以添加自己的评论。如果没有,则有一个指向登录页面的链接。 他们登录后我想让用户回到登录前页面。
我试过了
<a href="{{url_for('login', next = url_for('product_details', product=prod.id)')}}" role="button">Login</a>
与
@app.route('/login', methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
#login the user...
if request.args.get('next'):
return redirect(request.args.get('next'))
else:
# proceed as usual...
这不起作用。首先,在request.args.get('next')
之后,form.validate_on_submit()
消失了。除此之外,我的方法感觉不对。从next
参数重定向的正确方法是什么?
答案 0 :(得分:1)
您可以将“next”参数放在会话中,然后在用户登录后从会话中弹出该值。
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.args.get('next'):
session['next_url'] = request.args.get('next')
form = LoginForm()
if form.validate_on_submit():
#login the user...
if session.get('next_url'):
next_url = session.pop('next_url')
return redirect(next_url)
else:
# proceed as usual...