Django Sessions es una parte del framework que permite guardar los datos que necesitemos que estén disponibles para usarlos en cualquier vista, en cualquier momento, esto dependerá del diseño de tu aplicación.
Primero asegúrate de:
Que está activado en el middleware en el archivo settings:
django.contrib.sessions.middleware.SessionMiddleware
Que tienes instalado:
‘django.contrib.sessions’ en Settings I
NSTALLED
A
PPS.
Luego supongamos el caso que quieres guardar los datos de un formulario en una variable de sesión.
Primero extraes los datos del POST:
if request.method =='POST':
form = FormularioCreacionPedido(request.POST)
if form.is_valid():
En este caso particular agrego el id del usuario a los datos despues de extraer los datos del post:
form.cliente = Profile.objects.get(pk=request.user.id)
cleaned= form.cleaned_data
Luego debemos transformar los datos del formulario en formato json ya que las variables de sesión en Django no permiten guardar objetos:
json_form = json.dumps(cleaned, indent=4, sort_keys=True, default=str)
Y por último añadimos los datos con la key ‘pedido’ (puedes usar cualquiera) dentro de la variable de sesión.
request.session['pedido'] = json_form
Esta línea de código es la que crea la sesión.
Por defecto cuando creas una variable de sesión, Django crea un registro en una tabla que se llama django_session
Así los datos ya quedan disponibles para usarlos en cualquier vista.
Para extraer los datos debes hacer lo contrario:
extraer_datos
= json.loads(request.session.get('
pedido
', ''))
Luego cuando ya no necesites los datos …
Comments 0