编程语言
首页 > 编程语言> > python – 社交注册后的Django allauth重定向

python – 社交注册后的Django allauth重定向

作者:互联网

社交注册后,我想重定向到某个链接,我该怎么做?我可以做常规注册,但我不能进行社交注册.

解决方法:

或者,您可以编写自己的自定义social account adapter来处理来自不同社交帐户的不同登录重定向,而不是弄乱您的正常帐户设置,如下所示:

# adapter.py    
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter

class SocialAccountAdapter(DefaultSocialAccountAdapter):
    def get_login_redirect_url(self, request):
        # do your logic here for different social accounts
        ...
        return 'url/to/your/redirection' # or reverse(view) or whatever

# settings.py
SOCIALACCOUNT_ADAPTER = "point.to.adaptor.SocialAccountAdapter"

编辑:

如果您想要更改新注册的重定向,您可以自定义适配器的save_user方法:

class SocialAccountAdapter(DefaultSocialAccountAdapter):
    ...
    def save_user(self, request, sociallogin, form=None):
        super(DefaultSocialAccountAdapter, self).save_user(request, sociallogin, form=form)
        # your logic here... and return redirection afterward
        return redirect(...)

标签:python,django,django-allauth,pinax
来源: https://codeday.me/bug/20190519/1138394.html