Estoy implementando un sistema de referencia simple. Tengo un middleware que establece una variable de sesión que identifica al usuario referente. Tengo un modelo que vincula a un usuario referente con el usuario referido. Estoy intentando usar la señal post_save del objeto User para completar este modelo. ¿Cómo accedo al objeto de sesión desde el controlador de señal post_save?Cómo obtener la sesión del controlador de señal en Django
Respuesta
No hay forma de hacerlo sin usar un thread specific global variable.
Pero no estoy seguro de que lo necesite. Para mi sistema de recomendaciones e invitaciones, simplemente hago que el usuario se registre de forma normal y después de que se haya creado el usuario, obtenga la referencia de la sesión. En casi todas las situaciones, seguirá siendo la misma sesión.
Si hay algo en su sesión que lo impide, lo agregaría al formulario de crear usuario.
Puede encontrar documentación útil on using sessions out of views.
Estaba viendo eso, pero no sé cómo obtendría la clave de sesión y tendría que saber qué tipo de almacenamiento de sesión se está utilizando. –
AFAIK esto no funciona, ya que no tiene la clave de sesión en el controlador de señal. – guettli
- 1. Obtener la señal de inicio de sesión del usuario actual en Django
- 2. Django: ¿señal cuando el usuario inicia sesión?
- 3. cómo cancelar una eliminación en la señal de django
- 4. Obtener la señal de audio del parlante y luego transmitirla
- 5. cheque CodeIgniter para la sesión del usuario en cada controlador
- 6. Obtener el nombre del controlador del controlador en sí
- 7. Cómo obtener la sesión del navegadorId utilizando Selenium webdriver
- 8. Cómo depurar programa con controlador de señal para SIGSEGV
- 9. Cómo obtener la URL del objeto en el controlador
- 10. ¿Sesión en controlador genérico?
- 11. ¿Cómo obtener la fortaleza de la señal del servicio celular en Android?
- 12. Obtener entorno dentro del controlador
- 13. señal Django m2m_changed no activado
- 14. ¿Cómo obtener la respuesta de un controlador desde otro controlador?
- 15. Caducidad de la sesión Django?
- 16. django: recursion usando la señal de post-guardado
- 17. Cómo obtener el controlador de navegación 'actual' del controlador de la barra de pestañas
- 18. ¿Cómo manejar la señal SIGABRT?
- 19. Django señal post_save envía formsets línea obsoletas
- 20. Obtener el nombre del controlador en la plantilla Ver T4
- 21. ¿CÓMO obtener MFCC de una FFT en una señal?
- 22. ¿Cómo, en Perl 5, puedo obtener el pid del proceso que me envió una señal?
- 23. ¿Cómo iniciar sesión en el usuario de la sesión en Django?
- 24. (Django) cómo obtener el nombre del mes?
- 25. Temas predeterminados como, DestroyJavaVM, Controlador de referencia, Despachador de señal
- 26. Cómo obtener el ID del artículo en un controlador onItemClick
- 27. Cómo capturar la señal de Control + D?
- 28. Cómo establecer explícitamente django_language en la sesión de django
- 29. Django iniciar sesión/cerrar sesión
- 30. Acceso a datos compartidos desde un controlador de señal
Tengo algunos problemas. 1. Mi sistema de autenticación es una aplicación independiente (basada en la autenticación django) que requiere la activación del correo electrónico. Los usuarios a menudo no inician sesión por primera vez hasta después de que la sesión ha expirado. Por lo tanto, la referencia debe registrarse en la creación. 2. Estoy * intentando * no meterme con auth (o creación) de vistas/plantillas, ya que espero hacerlo completamente aislado del sistema de autenticación (si es posible). En este momento, no se ve bien. –
Sí, vas a tener que usar variables específicas de subprocesos globales ... algo incómodo. –
Gracias por su ayuda. –