我在base.html模板中有这个:
{% if user.is_authenticated %}
<p style="color:#000;">
Welcome
{{ user.first_name }}
|
<a href="/logout/">Logout</a>
</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
在我进行身份验证后,转到此页面后,我的名字就不显示了.谁能告诉我为什么?
"欢迎"也没有出现.所以,这一定是失败的user.is_authenticated.
谢谢.:)
所述django.contrib.auth.context_processors.auth中间件负责设置request.user一个请求到达控制器之前.
要从模板访问它,您需要传递此变量或a 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)
Run Code Online (Sandbox Code Playgroud)
这样,可以从模板访问所有请求变量.