我对让django-socialregistration工作非常困惑。
所以我的设置文件:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.request"
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'socialregistration.middleware.FacebookMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
FACEBOOK_REQUEST_PERMISSIONS = 'email,user_about_me'
AUTHENTICATION_BACKENDS = (
'socialregistration.auth.FacebookAuth',
'django.contrib.auth.backends.ModelBackend',
)
INSTALLED_APPS = (
...
'socialregistration',
...
)
FACEBOOK_APP_ID = '...'
FACEBOOK_API_KEY = '...'
FACEBOOK_SECRET_KEY = '...'
我的观点正在使用请求上下文,我的模板具有显示按钮所需的项目,单击FB连接按钮时会打开弹出窗口,询问我是否要连接应用程序。
所以这就是我在应该发生的事情中迷失的地方。
案例1:我是新用户,从未在example.com注册,但我有一个FB帐户并看到FB连接按钮,所以我点击它注册(这是django-socialregistration,它不应该是注册过程的起点吗?)。弹出窗口并单击FB弹出页面上的“允许”按钮,然后...我被重定向到“/ accounts / login /”页面,“您的用户名和密码不匹配。请再试一次。”
在管理员中没有创建任何内容 - 没有用户帐户,没有社交注册facebook个人资料,nada。如果我进入我的Facebook帐户设置,它会显示我已连接到我的应用程序。
案例2:我是现有用户,我登录到我的网站,然后点击FB连接按钮。我弹出,点击“允许”并重定向到个人资料页面。在管理员中,有一个新的社交注册Facebook个人资料。然后我退出网站,回来点击Facebook连接按钮,然后......重定向到“/ accounts / login /”,同样的用户名/密码也不匹配。
帮助?我已经打了很多谷歌试图找到其他问题nada - 人们谈论错误(错误我喜欢,会让我跟踪发生的事情,但我所能说的只是身份验证只是一个很大的失败)。
提前致谢。
编辑:对上述问题的问题进行部分修复 确保您将settings.py指向社交注册应用的模板文件夹,或将模板移动到模板路径上的位置。这是我对上述问题的问题 - 然而,我仍然无法使这个应用程序正常工作。