【问题标题】:Django - Losing Auth SessionDjango - 丢失身份验证会话
【发布时间】:2009-09-08 08:30:56
【问题描述】:

我在 Django 中遇到了一些麻烦...

登录后,我失去了某些页面的身份验证会话。 如果我访问“accounts/login/”、“accounts/logout/”、“accounts/register/”,会话将始终存在,但如果我访问不同的页面,则无法访问用户变量。

这很奇怪,因为我对所有页面都使用相同的“base.html”,并且里面有逻辑“如果 user.is_authenticated”,当我访问具有“帐户”的页面时,我怎么说这个条件为真网址。

在设置文件中我启用了这三个中间件:

MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', )

谢谢

【问题讨论】:

    标签: django session registration authentication


    【解决方案1】:

    这里只是一个猜测:您是否将 RequestContext 包含在您无法访问用户的视图中的上下文中?

    换句话说,如果您调用通用视图,RequestContext 会自动包含在内,但如果您使用的是render_to_response(),那么您需要像这样调用它:

    return render_to_response('template_name',
        { your context dict },
        context_instance=RequestContext(request))
    

    【讨论】:

    猜你喜欢
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2018-05-10
    • 1970-01-01
    • 2023-02-19
    • 2012-09-29
    • 1970-01-01
    相关资源
    最近更新 更多