我想在社交注册后重定向到特定链接,我该如何实现?我可以为常规注册做到这一点,但无法为社交注册做到这一点。
或者,您可以编写自己的自定义社交账户适配器来处理不同社交账户的登录重定向,并且不会干扰您的正常账户设置,操作步骤如下:
# 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(...)
在社交登录和普通登录后,应该根据设置中的LOGIN_REDIRECT_URL
进行重定向。您是否已经设置了这个?
关于自定义重定向,这里也有一些很好的信息here