web2py 重定向到上一页

4 投票
2 回答
5465 浏览
提问于 2025-04-16 08:50

当我从一个页面通过某个链接跳转到另一个页面时,有没有办法返回到之前的页面?之前的页面上还有一些参数。所以我想问一下,之前的页面有没有被保存在哪里,或者有没有其他方法可以返回到那个页面?

2 个回答

3

如果你在页面上使用表单,这里需要注意一下。当你第一次加载页面时,引用来源(referer)是正确的。但是在你提交表单之后,引用来源就变成了当前页面自己。为了避免这个问题,我做了以下的处理:

if session.back:
    redirect_url = session.back
else:
    redirect_url = URL()

# create form, do stuff, etc.
if form.accepts(request.vars.session):
    session.back = None
else:
    session.back = request.env.http_referer
7

在http协议中,有一个叫做“referrer”的头部字段。如果这个字段存在,它指向的是用户之前访问的页面。你可以通过web2py来访问这个字段:

if request.env.http_referer:
    redirect(request.env.http_referer)

撰写回答