在项目中我们会遇到一些应用场景,在访问某个URL后重定向到上一个页面。比如我们在访问一个博客页面时,点击评论链接就直接重定向到登录页面,当用户登录后合理的行为是跳转到评论页面而不是主页面。如下示例:
def func_a():
return "<h2>这是a页面</h2><a href='{}'>do_something</a>".format(url_for('do_something'))
@app.route('/b')
def func_b():
return "<h2>这是b页面</h2><a href='{}'>do_something</a>".format(url_for('do_something'))
@app.route('/do-something')
def do_something():
print('do things.....')
return redirect(url_for('test'))
这里我们访问完这个视图后直接调到固定的test页面中,但是我们希望重定向到原来的页面:
1.获取上个页面的url
(1)HTTP.referrer
是一个用来记录请求发源地址的,即访问来源。
所以do_something可以返回:
return redirect(request.referrer)
但是referrer字段在很多情况下是空值