Django Allauth Redirect после социальной регистрации
Я хотел бы перенаправить на определенную ссылку после регистрации в социальной сети, как и где мне это сделать? Я могу сделать это для обычной регистрации, но я не могу для социальной регистрации.
2 ответа
В качестве альтернативы вы можете написать свой собственный адаптер социальной учетной записи для обработки перенаправления входа в систему с разных учетных записей, не затрагивая ваши обычные настройки учетной записи, например:
# 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
в настройках. У вас есть этот набор?
Theres также некоторая хорошая информация здесь о пользовательском перенаправлении