Redirigir al usuario a otra url con la señal de inicio de sesión de django-allauth
Estoy usando Django-allauth para mi información de inicio de sesión / registro, por lo que cuando un usuario se registra (por primera vez) en mi sitio, lo estoy redirigiendo a/thanks/
página definiendo a continuación la configuración ensettings.py
expediente
LOGIN_REDIRECT_URL = '/ thanks /'
Pero cuando el usuario intentó iniciar sesión la próxima vez (si ya está registrado) debería redirigirlo a'/dashboard/'
URL
Así que intenté alterar eso conDjango-allauth signals
como abajo que no funciona en absoluto
@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'))
Entonces, ¿alguien puede hacerme saber cómo redirigir a un usuario a/dashboard/
para el inicio de sesión normal, ¿estoy haciendo algo mal en el código de señal anterior?
Editar
Después de alguna modificación de acuerdo con la siguiente respuesta porpennersr
miAccountAdapter
la clase se ve como abajo
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/'
Pero aún así, está redirigiendo al usuario a/dashboard/
, mi lógica en la determinación de la primera vez que el usuario está equivocado?