首页 文章

Django:用户会话过期后找不到页面

提问于
浏览
3

我有一个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页面(相同的url:example / 1001 / index /) .

我的观点是,我希望django将用户重定向到登录页面,并将用户重定向回用户再次获得会话后的任何页面 . 此行为适用于django管理站点的其余部分,但不适用于此“示例” .

避免此崩溃的简单方法是删除装饰器:

@login_required

但我不想那样走 .

有谁知道我应该做什么来重新定位和重定向工作作为期望?

提前致谢 .

1 回答

  • 1

    尝试在装饰器处添加login_url,以便在用户未登录时重定向 .

    @login_required(login_url='/login/')
    

    用您的登录URL替换登录 .

相关问题