我按照指南操作,我的设置如下:
INSTALLED_APPS = [
'suit',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
...
]
TEMPLATES = [
{
'context_processors': [
...
'django.template.context_processors.request',
],
},
},
]
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
SITE_ID = 1
SOCIALACCOUNT_PROVIDERS = \
{'facebook':
{'METHOD': 'oauth2',
'SCOPE': ['email', 'public_profile', 'user_friends'],
'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
'FIELDS': [
'id',
'email',
'name',
'first_name',
'last_name',
'verified',
'locale',
'timezone',
'link',
'gender',
'updated_time'],
'EXCHANGE_TOKEN': True,
'LOCALE_FUNC': 'path.to.callable',
'VERIFIED_EMAIL': False,
'VERSION': 'v2.4'}}
将此添加到Urls(项目网址):
url(r'^accounts/', include('allauth.urls')),
然后我在设置中添加了网站(test.domain.com)并创建了社交应用程序'使用该站点ID。
然后我将它包含在随机html模板中并得到此错误:
Django Version: 1.9b1
Exception Type: KeyError
Exception Value:
u'facebook'
精确模板渲染错误突出显示:
{% provider_login_url "facebook" method="oauth2" %}
我重新安装了两次,但无法弄清楚我错过了什么。
答案 0 :(得分:0)
你试过<a href="{% provider_login_url "facebook" process="login" %}"></a>
吗?