Django:模板中的用户信息

时间:2010-07-31 15:39:50

标签: django-templates

我在base.html模板中有这个:

{% if user.is_authenticated %}
<p style="color:#000;">
    Welcome
    {{ user.first_name }}
    | 
    <a href="/logout/">Logout</a>
</p>
{% endif %}

我进行身份验证后,转到此页面后,我的名字就不显示了。谁能告诉我为什么?

“欢迎”也没有显示出来。因此,这必须在user.is_authenticated上失败。

感谢。 :)

1 个答案:

答案 0 :(得分:6)

django.contrib.auth.context_processors.auth中间件负责在请求到达控制器之前设置request.user

要从模板访问它,您需要传递此变量或RequestContext。例如:

def something(request):
    context_instance = RequestContext(request)
    template_name = 'your_template.html'
    extra_context = { 'other_variable': 'some value' }
    return render_to_response(template_name, extra_context, context_instance)

这样,所有请求变量都可以从模板中访问。