Django templates Django:模板中的用户信息

Django templates Django:模板中的用户信息,django-templates,Django Templates,我的base.html模板中有以下内容: {% if user.is_authenticated %} <p style="color:#000;"> Welcome {{ user.first_name }} | <a href="/logout/">Logout</a> </p> {% endif %} {%if user.u经过身份验证%} 欢迎 {{user.first_name} | {%endi

我的base.html模板中有以下内容:

{% if user.is_authenticated %}
<p style="color:#000;">
    Welcome
    {{ user.first_name }}
    | 
    <a href="/logout/">Logout</a>
</p>
{% endif %}
{%if user.u经过身份验证%}

欢迎 {{user.first_name} |

{%endif%}
在我进行身份验证并转到此页面后,我的名字不会显示。有人能告诉我为什么吗

“欢迎”也没有出现。因此,这一定是在
用户上失败。是否经过身份验证


谢谢。:)

django.contrib.auth.context\u处理器.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)

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

是否显示了
欢迎
,或者它是否不符合条件?确保没有覆盖传递到模板的上下文中的变量“user”。除此之外,请检查您是否真的登录,并且您的用户是否有名字;-)欢迎也不会出现。jweyrich,是否覆盖?六羟甲基三聚氰胺六甲醚。。。视图只返回加载此页面的内容。我认为用户是全球可用的。否?它在控制器中以“请求.用户”的形式提供。您需要将其传递给模板。请看下面我的答案。我也有同样的问题,但我的模板是基本模板,按照您的方法,我必须将其传递到每个Child页面的视图中?@MuhammadTaqiHassanBukhari:您可以编写一个隐藏这些细节的函数,因此您可以调用自己的函数,而不是调用
render_to_response