如何在base.html中获取用户价值?

时间:2012-10-03 12:53:21

标签: django

我想在main base.html中使用用户数据,这是我的主要模板。

我实际上使用登录通用视图。当我登录主页时,它会向我提供用户信息,但在所有其他页面中user为空白。

我已经阅读了很多相关内容:requestRequestContext,我已将django.contrib.auth.context_processors.auth添加到处理器列表中。

知道如何让这个变量显示在任何地方吗?

1 个答案:

答案 0 :(得分:3)

两种方式:

如果您使用的是django 1.4+,则可以在从视图中返回时使用render()

def my_view(request):
    ...
return render(request, 'template.html', ctx)

如果您使用的是较旧的django或者您不喜欢渲染方法,则可以使用render_to_response返回RequestContext,如下所示:

def my_view(request):
   ...
return render_to_response('template.html', ctx, context_instance=RequestContext(request))

编辑:抱歉,忘了实际回答问题。如果您使用上述方法之一渲染模板并具有:

然后您可以使用:{{user}}和{{user.is_anonymous}}来确定发生了什么。