2

我刚刚完成安装 django-allauth,当我导航到所有社交提供者的模板页面时,我收到以下消息:

AttributeError at /account/facebook/login/
'tuple' object has no attribute 'get'

settings.social_account_providers

SOCIALACCOUNT_PROVIDERS = ( 
{'facebook':
  {'SCOPE': ['email', 'publish_stream'], 
   'FB_LOGIN': {'auth_type': 'reauthenticate'},
   'METHOD': 'js_sdk'}},
{ 'twitter':
    { 'SCOPE': ['r_emailaddress'] } },
{ 'google':
    { 'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile']}},
{ 'linkedin':
    { 'SCOPE': ['r_emailaddress'] }}  

)

html

<a method="js_sdk" href="{% provider_login_url "Facebook" %}"></a>
4

1 回答 1

2

SOCIALACCOUNT_PROVIDERS设置应该是字典 ( ) {...}。我怀疑在你的情况下它是一个元组——我看到你正在使用元组括号。

尝试这个:

python manage.py shell
>>> from django.conf import settings
>>> type(settings.SOCIALACCOUNT_PROVIDERS)
<type 'dict'>

它说<type 'dict'>在你的情况下吗?

于 2013-02-10T19:42:50.817 回答