0Pricing
Django Academy · Lección

Lectura y escritura de request.session

Guarde y recupere valores, como los de un carrito

Lectura y escritura de request.session es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

The Session as a Dict

Think of request.session as a dictionary that follows one visitor. You read and write keys exactly like any Python dict.

Writing a Value

To remember something, just assign a key. Here we save a cart list so the visitor keeps their items across pages.

def add_to_cart(request):
    request.session['cart'] = [1, 2, 3]
    return redirect('cart')

Reading a Value

Read a key back the dictionary way. Using get with a default avoids a crash when the key has not been set yet.

cart = request.session.get('cart', [])

Updating Stored Data

To grow a cart, read it, change the Python object, then assign it back so Django notices the update and saves it.

cart = request.session.get('cart', [])
cart.append(7)
request.session['cart'] = cart

Mark It Modified

When you mutate a nested object in place, set session.modified to True so Django knows it must persist the change.

request.session['cart'].append(7)
request.session.modified = True

Deleting a Key

Remove a single value with del, just like a normal dictionary, to forget one piece of session state.

del request.session['cart']

Checking for a Key

Use the in operator to test whether a value exists before you read it, which keeps your view logic clean.

if 'cart' in request.session:
    show_cart()

What Can You Store

Session values must be JSON serializable by default. Lists, dicts, strings, and numbers are fine; model instances are not.

Clearing Everything

To wipe all session data for a visitor, call flush. It deletes the data and rotates the session key, handy at logout.

request.session.flush()

Set Expiry Per Session

Override the global timeout for one visitor with set_expiry. Passing zero ends the session when the browser closes.

request.session.set_expiry(0)

Saves Happen For You

You rarely call save yourself. The middleware writes the session at the end of each request whenever you changed it.

Quick Check

You changed a list already stored in the session in place. What must you do?

Recap

You used request.session like a dict: write, read with get, delete, flush, and set expiry. Remember to flag in-place edits as modified. Next up, the messages framework. 💬

Preguntas frecuentes

¿La lección «Lectura y escritura de request.session» es gratis?

Sí — el texto completo de «Lectura y escritura de request.session» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Lectura y escritura de request.session»?

Guarde y recupere valores, como los de un carrito Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Django Academy?

No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Lectura y escritura de request.session»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Django Academy?

Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El framework de sesiones
  2. Lectura y escritura de request.session
  3. El framework de mensajes
  4. Cookies frente a sesiones
← Volver a Django Academy