Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Django — Avanzado

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Django

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a desarrolladores con experiencia sólida en Django que ya dominan la construcción de aplicaciones REST y el uso del ORM, y que buscan llevar sus proyectos a un nivel de producción exigente. A lo largo de las diez horas de formación, el participante abordará la arquitectura multi-app con separación de responsabilidades, la optimización profunda de consultas y esquemas de base de datos, el diseño de middleware personalizado y estrategias de caché multinivel, la evaluación del rendimiento de APIs bajo carga real, la gestión de tareas asíncronas y la securización sistemática de aplicaciones mediante el checklist de producción de Django, culminando con la integración de todo el ciclo en un pipeline CI/CD automatizado. Al finalizar, el participante será capaz de tomar decisiones de diseño y arquitectura justificadas, medir su impacto con herramientas reales y entregar una aplicación Django robusta, segura y observable en un entorno de producción.

Al finalizar el curso, el participante será capaz de:

  1. Conceptual — Explicar los principios de separación de responsabilidades en una arquitectura Django multi-app (modelos, servicios, repositorios) y los trade-offs entre distintos sistemas de tareas asíncronas, relacionando cada decisión con los requisitos de volumen y latencia del proyecto.
  2. Conceptual — Describir los mecanismos de seguridad que cubre el checklist de producción de Django —CSRF, SQL injection, cabeceras HTTP seguras y permisos— y justificar por qué cada control mitiga el riesgo asociado.
  3. Procedimental — Identificar y eliminar problemas N+1 y consultas redundantes en el ORM, optimizar el esquema de base de datos con índices compuestos y anotaciones avanzadas, y verificar el impacto de las mejoras con herramientas de diagnóstico.
  4. Procedimental — Diseñar e implementar middleware personalizado para autenticación, auditoría o rate-limit, y construir una estrategia de caché multinivel con invalidación coherente ante escrituras en escenarios de múltiples workers.
  5. Integrador — Evaluar críticamente el rendimiento de una API Django REST bajo carga, comparando métricas con y sin caché, y automatizar el pipeline de calidad —linting, tests y análisis de seguridad— en un flujo CI/CD reproducible que integre todas las decisiones técnicas tomadas a lo largo del curso.

Arquitectura y diseño de aplicaciones Django a escala El bloque inicial establece los fundamentos estructurales del curso. Se estudia cómo organizar un proyecto con múltiples dominios de negocio diferenciados aplicando la separación de responsabilidades entre modelos, servicios y repositorios. Se analiza el papel de cada capa, cómo se comunican entre sí y qué criterios determinan cuándo extraer lógica a un servicio o a un repositorio independiente. A partir de esta base arquitectural se aborda el diseño e implementación de middleware personalizado: anatomía del ciclo petición-respuesta en Django, patrones para interceptar ese ciclo sin romper la cadena existente y casos de uso concretos como auditoría de accesos, autenticación delegada y control de rate-limit.

Optimización de consultas y esquema de base de datos Este bloque profundiza en el rendimiento a nivel de datos. Se trabaja la detección y eliminación de problemas N+1 y consultas redundantes utilizando Django Debug Toolbar y connection.queries sobre conjuntos de datos representativos. A continuación se amplía el foco al esquema: adición de índices compuestos, exploración de anotaciones ORM avanzadas (Window, Subquery, Exists) y lectura e interpretación de planes de ejecución con EXPLAIN ANALYZE para medir el impacto real de cada cambio. El bloque cierra con estrategias de caché multinivel —vista, fragmento y queryset— incluyendo políticas de invalidación coherente ante escrituras y consistencia eventual en entornos con múltiples workers.

Rendimiento de APIs y tareas asíncronas Con el esquema y las consultas optimizados, el curso gira hacia el comportamiento de la API bajo carga. Se realizan pruebas de rendimiento sobre una API Django REST comparando métricas de latencia y throughput con y sin caché (Redis/Memcached), y se justifica la estrategia elegida en función de los resultados obtenidos. Paralelamente se estudian los sistemas de tareas asíncronas disponibles en el ecosistema Django: se evalúan los trade-offs entre Celery con broker Redis y Django Q con ORM, y se configura el sistema seleccionado para un caso de uso con requisitos de volumen y latencia definidos.

Seguridad y pipeline de calidad El bloque final integra las perspectivas de seguridad y operaciones. Se aplica el checklist de producción de Django para anticipar riesgos —CSRF, SQL injection, cabeceras HTTP seguras y permisos— y se proponen mitigaciones priorizadas sobre una aplicación existente. Sobre esta base segura se construye el pipeline CI/CD que automatiza linting con flake8 o ruff, ejecución de tests con pytest-django y análisis estático de seguridad con bandit, consolidando en un flujo reproducible todas las prácticas trabajadas a lo largo del curso.

  • Python 3.11 o superior instalado en local.
  • Django 4.2 LTS o superior.
  • Docker Desktop (o Docker Engine en Linux) para levantar servicios de Redis y base de datos PostgreSQL 15 sin configuración manual.
  • PostgreSQL 15 como base de datos del proyecto (puede ejecutarse en el contenedor Docker provisto).
  • Redis 7 para los ejercicios de caché y broker de Celery (contenedor Docker provisto).
  • Editor de código con soporte Python: VS Code con la extensión Pylance, o PyCharm Community.
  • Navegador web moderno para Django Debug Toolbar.
  • Conexión a Internet para descargar dependencias de PyPI durante las sesiones.
  • Hardware recomendado: 8 GB de RAM y procesador de cuatro núcleos para ejecutar los contenedores Docker junto con el servidor de desarrollo sin degradación perceptible.

El participante debe haber completado el curso DJA02 o demostrar un dominio equivalente de Django en nivel intermedio. En concreto, se espera que sea capaz de construir APIs REST con Django REST Framework, escribir y migrar modelos ORM complejos, gestionar autenticación basada en tokens y desplegar una aplicación Django en un entorno con base de datos relacional. También se asume fluidez en Python 3 y familiaridad básica con la línea de comandos Linux/macOS y con entornos virtuales.