2009-09-07 70 views
1

我与Django中一些麻烦......Django的 - 失去验证会话

登录我失去权威性会议上对一些网页后。 如果我访问“accounts/login /”,“accounts/logout /”,“”accounts/register /“,会话总是会在那里,但是如果我访问不同的页面,我不能访问用户变量。很奇怪,因为我为所有页面使用了相同的“base.html”,里面有逻辑“if user.is_authenticated”,当我访问URL中包含“账户”的页面时,我如何说这个条件是真实的。

在设置文件我启用论文3个中间件:

MIDDLEWARE_CLASSES =( 'django.middleware.common.CommonMiddleware', “django.contrib.sessions.mid dleware.SessionMiddleware”, ‘django.contrib.auth.middleware.AuthenticationMiddleware’, )

感谢

回答

4

这里只是一个猜测:你是其中的RequestContext中,你不能访问用户的意见,你的背景?

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

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

+1 - 让生活更方便,使用'render_to '从http://bitbucket.org/offline/django-annoying/wiki/Home – 2009-09-08 05:28:05