在django-allauth社交登录后,request.user.is_authenticated保持为false

时间:2016-01-31 00:03:29

标签: django python-3.x django-allauth

所以我正在使用django 1.9,python 3.4和最新版本的django-allauth开发一个网站,以允许通过Facebook和谷歌登录。

我已按照官方文档中的所有安装说明进行操作。使用管理界面,当我使用我的fb和谷歌配置文件登录时,我可以看到登录实际上正在添加新的社交帐户。登录后我重定向到这个虚拟视图:

<!-- home.html -->
<html>
<body>
{% if user.is_authenticated %}
<p> your identity has been verified! </p>
{% else %}
<p> not logged in?</p>

{% endif %}
</body>
</html>

但即使登录成功,我也能看到&#34;通过Facebook成功登录&#34;在返回登录视图的消息中,此视图从不显示经过身份验证的消息。

有什么不对或者这是django-allauth的正常行为吗?

views.py(这被设置为根视图):

from django.shortcuts import render
from django.template.context import RequestContext

def index(request):
    return render(request, 'home.html', context=RequestContext(request))

settings.py:

# normal working settings...

SITE_ID = 1
LOGIN_REDIRECT_URL = '/'
ACCOUNT_EMAIL_VERIFICATION = 'none'

修改

在views.py中运行调试器我可以看到request.userAnonymousUser的一个实例,它解释了为什么user.is_authenticated返回false。但是为什么在通过fb或谷歌成功登录后它仍然是匿名的?

0 个答案:

没有答案