1

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

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

这很奇怪,因为我对所有页面都使用相同的“base.html”,并且内部有逻辑“如果 user.is_authenticated”,当我访问在 URL 中具有“帐户”的页面时,我所说的这个条件是正确的。

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

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

谢谢

4

1 回答 1

4

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

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

return render_to_response('template_name',
    { your context dict },
    context_instance=RequestContext(request))
于 2009-09-07T23:50:38.980 回答