社交注册后Django allauth重定向

时间:2015-01-03 20:51:54

标签: python django django-allauth pinax

我想在社交注册后重定向到某个链接,我该怎么做?我可以定期注册,但我无法进行社交注册。

2 个答案:

答案 0 :(得分:3)

或者,您可以编写自己的自定义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(...)

答案 1 :(得分:2)

在社交和正常之后,它应该重定向到您设置中的LOGIN_REDIRECT_URL。你有那套吗?

还有一些关于自定义重定向的好信息here