2

나는 모든 사회 공급자에 대한 템플릿 페이지를 탐색 할 때 난 그냥 장고 - allauth를 설치 완료하고 나는 다음과 같은 메시지를 수신하고 있습니다 :장고 - 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> 
+1

여기에 누락 된 코드가 있습니다. 어딘가에 API는'.get()'을 사용하여 dict처럼 접근하려고하는 튜플을 리턴한다. 튜플은 예를 들어'myTuple [0]'과 같은 인덱스에 의해 접근됩니다. –

답변

2

SOCIALACCOUNT_PROVIDERS 설정은 사전 ({...})이어야합니다. 나는 당신의 경우 튜플이라고 생각합니다 - 당신이 튜플 괄호를 사용하고있는 것을 봅니다.

이 시도 :

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

이 귀하의 경우 <type 'dict'> 말합니까?

+0

실제로, 그것은 harristrader

+0

을 말합니다. 이것이 문제입니다. dict을 말해야합니다. 'SOCIALACCOUNT_PROVIDERS = {...}'를 꼭 사용하십시오 -에서와 같이 대괄호를 버리십시오. – pennersr

관련 문제