2016-08-22 3 views
1

새로 가입 한 사용자가 이메일을 보내도록하고 싶기 때문에 Twitter를 기본 로그인/로그인 용으로 사용하고 있으며 소셜 가입 후 '계정/이메일'링크로 리디렉션하고 싶습니다. 나는 @AnzelDjango allauth 사교성 가입 후 이메일 확인으로 리디렉션

from allauth.socialaccount.adapter import DefaultSocialAccountAdapter 

class SocialAccountAdapter(DefaultSocialAccountAdapter): 
     def save_user(self, request, sociallogin, form=None): 
      super(DefaultSocialAccountAdapter, self).save_user(request, sociallogin, form=form) 
      return redirect('/accounts/email/') 

에서 같은 question과 대답을 발견했지만 대답은 나를 위해 작동하지 않았고 setting.py이

AttributeError at /accounts/twitter/login/callback/ 

'super' object has no attribute 'save_user' 

Request Method:  GET 
Request URL: http://localhost:8000/accounts/twitter/login/callback/?oauth_token=HSowSgAAAAAAuTblAAABVrLCOpE&oauth_verifier=cVrwyB2Vfk2Lgsrwg5fqE0wyzrfnwJ3H 
Django Version:  1.9.2 
Exception Type:  AttributeError 
Exception Value:  

'super' object has no attribute 'save_user' 
+0

super (DefaultSocialAccountAdapter, self) .save_user (request, sociallogin, form = form) 대신'super (SocialAccountAdapter, self) .save_user (request, sociallogin, form = form)'시도하십시오. 즉, 'DefaultSocialAccountAdapter' 대신'SocialAccountAdapter'에 'super'라고 부릅니다. – elethan

+0

내가 그랬고 오류가 사라졌습니다. 문제는 allways가 기존 사용자에 대해서도 확인 이메일 URL로 리디렉션된다는 것입니다. –

답변

2

난 겨우 두 줄을 추가있어하고 잊어 어댑터 :

SOCIALACCOUNT_AUTO_SIGNUP = True 
SOCIALACCOUNT_EMAIL_REQUIRED = True 

지금 가입 후 또는 그것은 단지/계정/사회/가입에 새 사용자를 redircts /이 뷰가 실제로 자신의 eamil의를 제출하는 사용자를 강제로 로그인 d 프로세스를 검증합니다.