我已经看到了stackoverflow上与此相关的所有链接。 我正在使用Django 1.9.7,我试图在模板中看到用户是否经过身份验证,但我无法得到用户。
不打印任何内容的模板代码:
{{ user.is_authenticate }}
{{ request.user.is_authenticate }}
设置代码:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
],
},
},
]
我已经尝试过使用social.apps但仍然没有工作,有什么想法吗?
答案 0 :(得分:1)
确保您在视图中传递请求上下文,这是将用户添加到上下文的内容...
from django.template import RequestContext
def some_view(request):
form = None
# request.user accesses user here
return render_to_response('some_template.html', {'form':form}, context_instance=RequestContext(request))
现在,您可以在模板中使用:
{% if request.user.is_authenticated %}{{ request.user.email }}{% endif %}