Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

199
Vistas
Señal Django rest auth user_logged_in

Tengo una aplicación de descanso de django que usa la autenticación de descanso de django. Estoy tratando de registrar algo cada vez que un usuario inicia sesión usando señales.

He buscado en la web sobre cómo usar las señales y no he encontrado ningún material interesante sobre cómo hacerlo funcionar. Creo que el problema puede estar en las señales allauth. ¿Hay algún problema con la siguiente configuración?

señales.py

 import logging from allauth.account.signals import user_logged_in from django.dispatch import receiver logger = logging.getLogger(__name__) @receiver(user_logged_in) def login_logger(request, user, **kwargs): logger.info("{} logged in with {}".format(user.email, request))

aplicaciones.py

 from django.apps import AppConfig class UsersConfig(AppConfig): name = 'users' def ready(self): import users.signals

__init__.py

 default_app_config = 'users.apps.UsersConfig'
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Así es como lo resolví usando djangorestframework-jwt==1.11.0 :

configuración.py

 from django.contrib.auth.signals import user_logged_in def jwt_response_payload_handler(token, user=None, request=None): if user and request: user_logged_in.send(sender=user.__class__, request=request, user=user) return { 'token': token, } JWT_AUTH = { 'JWT_RESPONSE_PAYLOAD_HANDLER': jwt_response_payload_handler, }

modelos.py

 from django.contrib.auth.signals import user_logged_in def login_handler(sender, user, request, **kwargs): print('logged in') user_logged_in.connect(login_handler)
about 4 years ago · Santiago Trujillo Denunciar

0

Parece que Django Rest Framework no emite la señal user_logged_in cuando se configura la autenticación basada en token: https://github.com/encode/django-rest-framework/issues/3869

about 4 years ago · Santiago Trujillo Denunciar

0

Por alguna extraña razón, esto no parece funcionar cuando se coloca en signals.py , esta implementación de signals.py funciona bien para cada parte del proyecto, excepto allauth (también tuve mi experiencia personal). Verifique estos problemas de github https://github.com/pennersr/django-allauth/issues/347

Por alguna extraña razón, mover este código ( signals.py ) a models.py de la misma aplicación funcionará.

 # place this in models.py from allauth.account.signals import user_logged_in from django.dispatch import receiver logger = logging.getLogger(__name__) @receiver(user_logged_in) def login_logger(request, user, **kwargs): logger.info("{} logged in with {}".format(user.email, request))
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda