【发布时间】:2014-02-27 17:26:34
【问题描述】:
我有一个运行良好的 django 管理站点,大部分情况下。 假设有一个名为 Example 的应用:
我们对此有看法:
@login_required
def example_index():
something...
return
网址是:
urlpattern = patterns("", url(r'^(\d+)/index/$', example_index))
在主要的 url 文件中,我们将上面的 urlpattern 包含如下:
urlpatterns = patterns('', url(r'^example/', include(example.urlpattern)))
显然,它们是我文件中的一堆其他东西,但我想我已经为这个问题提供了所有相关代码。
用户登录后,用户可以访问url /hostname/example/1001/index/。它工作得很好。
那么问题是,在某些时候,当用户的会话过期时,如果用户尝试刷新页面,浏览器将返回 404 Page not found(相同的 url:example/1001/index/)。
我的意思是,我希望 django 将用户重定向到登录页面,并将用户重定向回用户再次获取会话后用户所在的任何页面。此行为适用于 django 管理站点的其余部分,但不适用于这个“示例”。
避免这种崩溃的简单方法是删除装饰器:
@login_required
但我不想走那条路。
有谁知道我应该怎么做才能使重新登录和重定向按预期工作?
提前致谢。
【问题讨论】:
标签: django