¿Cómo se configuran las variables de sesión en el inicio de sesión utilizando Django-registro y autenticación?

StackOverflow https://stackoverflow.com/questions/2268043

Pregunta

Estoy usando Django-registro a los usuarios acceder a mi solicitud. Esa parte funciona bien. La parte que no puedo entender es cómo establecer variables de sesión personalizada cuando el usuario inicia sesión. Por ejemplo, me gustaría para poblar las variables que contienen los datos UserProfile, así como la salida de algunas otras funciones. Entonces yo sería capaz de utilizar esa información en posteriores visitas / templates.

Si alguien me puede apuntar a un tutorial en línea o publicar algunos ejemplos de código, que sería grande.

Estoy usando Django 1.1 y Python 2.6

¿Fue útil?

Solución

Si no desea que el almacenamiento persistente de datos de usuario (sólo datos de sesión adicionales) echar un vistazo a:

http://docs.djangoproject.com/en/dev/ temas / http / sesiones /

El marco de las sesiones es muy probable que ya esté habilitado si utiliza django.contrib.auth.

Si desea almacenamiento permanente de los datos de usuario adicionales (no sólo en una sesión, pero en la base de datos), se almacenará en otro modelo de "perfil":

http: // docs. djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

Otros consejos

Me doy cuenta @stefanw que ya ha proporcionado una solución alternativa, pero para responder a la pregunta original:

Configuración de datos de sesión al iniciar la sesión es difícil porque es muy fácil de configurar que los datos están en su función de vista, y la función de vista particular que te gustaría modificar es una parte de la aplicación contrib.django.auth.

Así que sus opciones serían las siguientes:

  • Crea una pequeña clase de middleware para establecer sus datos de sesión.
  • Crea una etiqueta de plantilla u otro trozo de código que puede ser integrado en la plantilla de conectarse o subsiguiente página que establecerá los datos que desea.
  • Escriba su propia función de vista de inicio de sesión personalizado (que es realmente muy fácil, en realidad).

Happy django-ción!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top