2016-08-22 60 views
1

後以電子郵件驗證我使用Twitter主註冊/登錄,我想重定向到「帳戶/郵件」鏈接社會註冊後,因爲我想迫使新用戶提供他們的電子郵件。我發現同樣的question並回答@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/') 

但得到的答覆並沒有爲我工作,並得到了這個

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

嘗試'超級(SocialAccountAdapter,自我).save_user(請求,sociallogin,形式=形式)'代替'超級(DefaultSocialAccountAdapter,自我).save_user(請求,sociallogin,形式=形式)'。即,調用'super'上'SocialAccountAdapter'代替DefaultSocialAccountAdapter' – elethan

+0

的'我做到了,錯誤disapear,問題是,它永諾重定向到驗證的電子郵件地址甚至對現有用戶。 –

回答

2

在setting.py我只添加這兩條線和忘記了適配器:

SOCIALACCOUNT_AUTO_SIGNUP = True 
SOCIALACCOUNT_EMAIL_REQUIRED = True 

現在註冊後或登錄其redircts新用戶只/帳號/社會/註冊/這個觀點實際上強迫用戶提交自己的EAMIL d過程進行驗證。