我无法让用户使用django模板

时间:2016-07-10 17:00:33

标签: python django

我已经看到了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但仍然没有工作,有什么想法吗?

1 个答案:

答案 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 %}