Я использую Django-allauth для своих материалов, связанных с регистрацией/регистрацией, поэтому, когда пользователь регистрируется (первый раз) на моем сайте, я перенаправляю его на страницу /thanks/
, определяя ниже настройку в settings.py
файле
LOGIN_REDIRECT_URL = '/thanks/'
Но когда пользователь попытался войти в систему в следующий раз (если он уже зарегистрирован), я должен перенаправить его на '/dashboard/'
URL
Поэтому попытался изменить это с помощью Django-allauth signals
, как показано ниже, который не работает вообще
@receiver(allauth.account.signals.user_logged_in)
def registered_user_login(sender, **kwargs):
instance = User.objects.get_by_natural_key(kwargs['user'])
print instance.last_login==instance.date_joined,"??????????????????????????????"
if not instance.last_login==instance.date_joined:
return HttpResponseRedirect(reverse('dashboard'))
Так может кто-нибудь, пожалуйста, дайте мне знать, как перенаправить пользователя на /dashboard/
для обычного входа в систему, я делаю что-то неправильно в приведенном выше коде кода?
Edit
После некоторой модификации в соответствии с приведенным ниже ответом pennersr
мой класс AccountAdapter
выглядит ниже
from allauth.account.adapter import DefaultAccountAdapter
# from django.contrib.auth.models import User
class AccountAdapter(DefaultAccountAdapter):
def get_login_redirect_url(self, request):
if request.user.last_login == request.user.date_joined:
return '/registration/success/'
else:
return '/dashboard/'
Но все-таки перенаправляет пользователя на /dashboard/
, моя логика в определении первого пользователя неправильная?