Introducción
Este curso de Desarrollo Web con Django (Python) proporciona una formación práctica y aplicada para que profesionales puedan diseñar, desarrollar y desplegar aplicaciones web completas usando Django. En 20 horas de formación online en directo, los participantes aprenderán desde la configuración del entorno hasta la creación de páginas dinámicas, modelos de datos, autenticación de usuarios y despliegue básico — con un enfoque técnico orientado a entornos reales de empresa. La formación busca dotar al alumno de las habilidades necesarias para construir backend robustos y mantenibles, con buenas prácticas y un conocimiento sólido del framework.
Objetivos
Al finalizar el curso, los participantes serán capaces de:
- Comprender la arquitectura de Django (MTV — Model-Template-View) y su filosofía «baterías incluidas».
- Configurar un entorno de desarrollo en Python + Django, gestionar dependencias y estructura de proyecto.
- Definir modelos de datos, gestionar bases de datos mediante el ORM de Django, y aplicar migraciones.
- Implementar vistas y rutas (URLs) para procesar peticiones HTTP y devolver respuestas dinámicas.
- Crear plantillas HTML dinámicas usando el sistema de templates de Django, con herencia, filtros y lógica básica.
- Gestionar formularios y entrada de datos desde usuarios: validación, creación/edición de objetos, interacciones web.
- Implementar autenticación de usuarios, registro, permisos básicos y administración desde el panel administrativo de Django.
- Preparar el proyecto para entorno de producción: organización del código, gestión de archivos estáticos/media, buenas prácticas de seguridad.
Índice de Contenidos
Módulo 1. Fundamentos y configuración del entorno
- Qué es Django: filosofía, ventajas, características principales.
- Instalación de Python y Django, creación de entorno virtual, manejo de dependencias.
- Estructura de un proyecto Django: proyectos vs apps, archivos principales
- Servidor de desarrollo, comandos básicos (startproject, startapp, migrate, runserver).
Módulo 2. Modelo de datos y ORM
- Introducción a modelos: definición de clases, campos, tipos de datos.
- Relaciones entre modelos (uno a muchos, muchos a muchos, etc.).
- Migraciones: creación, aplicación, control de versiones de esquema.
- Consultas con ORM: creación, lectura, actualización, eliminación (CRUD), filtros, ordenaciones, QuerySets.
Módulo 3. Vistas, URLs y lógica de control
- Patrón MTV de Django: qué es, cómo funciona.
- Definición de URLs y rutas, enrutamiento de peticiones HTTP.
- Vistas basadas en funciones (Function-Based Views) vs vistas basadas en clases (Class-Based Views).
- Manejo de peticiones GET, POST, parámetros de URL, contexto de vistas.
Módulo 4. Templates y presentación de datos
- Sistema de templates de Django: sintaxis, herencia de plantillas, etiquetas, filtros.
- Integración de datos desde modelos en plantillas: renderizado, contexto, bucles, condicionales.
- Gestión de archivos estáticos (CSS, JS, imágenes) y media.
Módulo 5. Formularios, usuario y autenticación
- Uso del módulo de formularios de Django: definición de formularios, validación, binding.
- Formularios basados en modelos (ModelForms) para crear/editar objetos en base de datos.
- Sistema de usuarios: registro, login, logout, gestión de permisos y roles.
- Panel de administración proporcionado por Django: configuración, personalización, uso en backend.
Módulo 6. Buenas prácticas, seguridad y mantenimiento
- Principios de seguridad integrados en Django (protección CSRF, validación, escape de datos).
- Organización del proyecto: modularidad, estructura limpia, separación de responsabilidades.
- Gestión de configuraciones, entornos (desarrollo vs producción), dependencias.
Módulo 7. Despliegue básico y consideraciones para producción
- Preparación de la aplicación para producción: configuración de base de datos, static/media, settings.
- Opciones de despliegue: servidores, hosting, entornos compatibles con Django.
- Mantenimiento: migraciones, actualizaciones, backups, control de versiones.