Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Django — Intermedio

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

Dirigido a desarrolladores que ya dominan los fundamentos de Django y buscan consolidar patrones de diseño propios de aplicaciones reales, este curso de diez horas profundiza en el modelado relacional avanzado, la arquitectura de URLs multi-módulo y la elección fundamentada entre vistas basadas en funciones y en clases. A lo largo del recorrido el participante aprenderá a proteger rutas mediante autenticación y permisos por roles, a personalizar el panel de administración para reflejar las reglas del negocio, a depurar errores de integridad en el ORM y a diagnosticar problemas de rendimiento derivados del patrón N+1, culminando con la construcción de una API REST completa con Django REST Framework. Al finalizar, el participante será capaz de entregar una aplicación Django multi-módulo con autenticación, API y panel de administración adaptados a un caso de negocio real.

  1. Distinguir los tipos de relación entre modelos (ForeignKey, ManyToMany, OneToOne) y justificar las decisiones de cardinalidad a partir de los requisitos de un caso de negocio concreto.
  2. Comparar las vistas basadas en funciones y las vistas basadas en clases para un mismo requisito, argumentando la elección según criterios de mantenibilidad y reutilización.
  3. Diseñar la estructura de URLs de una aplicación multi-módulo usando namespaces e inclusión modular, razonando su ventaja frente a una estructura plana.
  4. Integrar el sistema de autenticación de Django con vistas protegidas y permisos diferenciados por grupo para al menos dos roles de usuario.
  5. Adaptar el panel de administración con acciones personalizadas, filtros avanzados y campos calculados alineados al modelo de negocio.
  6. Integrar formularios con validación personalizada a nivel de campo y de formulario, gestionando la presentación explícita de errores en plantilla.
  7. Depurar errores de integridad referencial y problemas de N+1 queries en el ORM, aplicando las herramientas de diagnóstico de Django para identificar la causa raíz y aplicar la corrección adecuada.
  8. Construir una API REST con Django REST Framework que incluya serialización de modelos, enrutado con ViewSet y autenticación por token con al menos un permiso personalizado.

Modelado relacional y arquitectura de proyecto. El curso arranca revisando los tres tipos de relación del ORM de Django y las implicaciones de cardinalidad en el esquema de base de datos, con ejercicios que parten de enunciados de negocio. A continuación se aborda la organización de URLs en proyectos multi-módulo: uso de include(), definición de namespaces y las ventajas de esta estructura frente a un único fichero plano de rutas.

Vistas y formularios avanzados. Se estudia la dicotomía entre vistas basadas en funciones y vistas basadas en clases, analizando un mismo requisito implementado con ambos enfoques para extraer criterios de decisión. El bloque continúa con la construcción de formularios con lógica de validación personalizada a nivel de campo y de formulario completo, incluyendo la gestión y renderizado explícito de errores en las plantillas.

Autenticación, permisos y panel de administración. Se integra el sistema de autenticación nativo de Django para proteger vistas con LoginRequired y decoradores de permiso, modelando escenarios con al menos dos roles de grupo diferenciados. Paralelamente se personaliza el panel de administración mediante acciones batch, filtros laterales y campos calculados que exponen información relevante del dominio de negocio.

Depuración y rendimiento del ORM. El bloque de diagnóstico cubre dos familias de errores frecuentes: los fallos de integridad referencial y validación, cuyo análisis se realiza directamente sobre el traceback de Django en entorno de desarrollo; y el problema de N+1 queries en vistas que recorren relaciones, que se detecta con Django Debug Toolbar y se resuelve aplicando select_related o prefetch_related según el tipo de relación.

Django REST Framework: API REST completa. El curso cierra con la construcción de una API REST usando ModelSerializer y ViewSet, configurando el enrutado automático de DRF, añadiendo autenticación por token y definiendo al menos un permiso personalizado que aplique reglas de acceso propias del caso de negocio trabajado durante el curso.

  • Python 3.10 o superior instalado en local.
  • Entorno virtual (venv o equivalente) con Django 4.2 LTS y Django REST Framework 3.15 instalados.
  • Django Debug Toolbar instalado y configurado en el proyecto de prácticas.
  • Base de datos SQLite (incluida con Python) para desarrollo local; PostgreSQL opcional para ejercicios de integridad referencial avanzados.
  • Editor de código con soporte Python (VS Code con extensión Pylance recomendado).
  • Acceso a terminal/consola para ejecutar manage.py y herramientas de línea de comandos.
  • Cliente HTTP para pruebas de API: Postman, Insomnia o curl.

Se espera que el participante haya completado el curso DJA01 (Django — Iniciación) o disponga de experiencia equivalente. Concretamente, debe saber crear un proyecto Django, definir modelos simples y realizar migraciones, escribir vistas y plantillas básicas, y operar con el ORM a nivel elemental (consultas filter, get, create). También se recomienda soltura en Python a nivel intermedio: comprensión de clases, decoradores y manejo de excepciones.