Aprender Django Middleware, señales y caché

Módulo del curso de Django

Django
Django
Módulo del curso
5 lecciones
Actualizado: 18/04/2026

Módulo: Middleware, señales y caché

Este módulo forma parte del curso de Django. Incluye 5 lecciones .

Middleware, señales y caché

El módulo de middleware, señales y caché cubre las capas transversales de una aplicación Django: middleware personalizado para interceptar peticiones y respuestas, señales para comunicación desacoplada entre componentes, framework de caché con Redis, envío de emails y comandos personalizados de manage.py.

Middleware

Los middleware son clases que se ejecutan en orden para cada petición y su respuesta. Django incluye middleware de seguridad, sesiones, autenticación y CSRF. Un middleware personalizado implementa __init__ y __call__, e intercepta tanto la petición entrante como la respuesta saliente para añadir funcionalidad transversal como logging, auditoría o limitación de tasa.

Señales

Las señales permiten que componentes desacoplados de la aplicación se comuniquen cuando ocurren determinados eventos. Las señales predefinidas más usadas son pre_save, post_save, pre_delete y post_delete. El decorador @receiver conecta una función manejadora a una señal de forma declarativa.

from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=Usuario)
def crear_perfil(sender, instance, created, **kwargs):
    if created:
        Perfil.objects.create(usuario=instance)

Caché

Django soporta múltiples backends de caché: Memcached, Redis y base de datos. El decorador @cache_page aplica caché a nivel de vista completa. La API de bajo nivel cache.get(), cache.set() permite caché de fragmentos arbitrarios, mientras que el fragment caching en plantillas usa el tag {% cache %}.

Envío de email y comandos

send_mail() y EmailMessage envían correos configurando EMAIL_BACKEND en settings.py. Los management commands personalizados extienden BaseCommand e implementan handle(), permitiendo automatizar tareas de mantenimiento ejecutables con python manage.py nombre_comando.

Explora más sobre Django

Descubre más recursos de Django

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Django es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.