
Curso de Flask
Domina Flask desde cero y construye aplicaciones web reales en Python que sean seguras, escalables y listas para producción. Este curso cubre desde enrutamiento y plantillas hasta bases de datos, autenticación, APIs REST y despliegue. Obtendrás las habilidades prácticas que los empleadores y clientes en realidad buscan en un desarrollador backend de Python.
Lo que vas a aprender:
Aprenderás a configurar un entorno de desarrollo profesional en Flask y a estructurar proyectos para mantenerlos a largo plazo. El curso cubre enrutamiento dinámico, creación de plantillas con Jinja2, validación de formularios y gestión de bases de datos usando SQLAlchemy. Implementarás autenticación de usuarios con Flask-Login, construirás APIs RESTful con seguridad basada en tokens y escribirás pruebas automatizadas con pytest. Los temas avanzados incluyen tareas en segundo plano con Celery, funcionalidades en tiempo real con Flask-SocketIO y contenerización con Docker. Al finalizar, sabrás cómo configurar el registro de logs, aplicar buenas prácticas de seguridad y desplegar una aplicación Flask completamente funcional en un servidor en vivo.
Cómo estudias de forma práctica Curso de Flask
Cómo practicas Curso de Flask
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Flask y Configuración del Entorno
Fundamentos de Flask y Configuración del Entorno
Lección 1 • Entorno de Python y Entornos Virtuales
Configura Python, pip y entornos virtuales aislados para proyectos Flask. Un aislamiento adecuado previene conflictos de dependencias entre proyectos.
Lección 2 • Gestión de la Configuración
Carga y alterna entre configuraciones de desarrollo, pruebas y producción. La configuración externalizada mantiene los secretos fuera del código fuente.
Lección 3 • Tu Primera Aplicación Flask
Escribe y ejecuta una aplicación Flask mínima para entender el patrón de fábrica de aplicaciones. Los estudiantes trazan una solicitud desde el navegador hasta la función Python y de regreso.
Lección 4 • Instalación y Configuración de Flask
Instala Flask y verifica la instalación con una aplicación mínima. Esto establece la cadena de herramientas base para todos los capítulos siguientes.
Lección 5 • Estructura de un Proyecto Flask
Organiza archivos y carpetas siguiendo las convenciones de Flask para proyectos escalables. Una buena estructura reduce la fricción a medida que la aplicación crece.
Capítulo 2OcultarOcultar detallesVer detallesEnrutamiento, Vistas y Construcción de URLs
Enrutamiento, Vistas y Construcción de URLs
Lección 1 • Conceptos Básicos de Rutas y Métodos HTTP
Define rutas con el decorador @app.route y restríngelas a métodos HTTP específicos. Esto conecta los patrones de URL con la lógica de las vistas.
Lección 2 • Blueprints para la Organización de Rutas
Agrupa rutas relacionadas en Blueprints para modularizar aplicaciones grandes. Los Blueprints son la base de una arquitectura Flask escalable.
Lección 3 • Construcción de URLs con url_for
Genera URLs a partir de nombres de endpoint en lugar de cadenas codificadas. url_for mantiene los enlaces consistentes cuando las rutas cambian.
Lección 4 • Parámetros Dinámicos de URL
Captura segmentos variables en las URLs y conviértelos a valores Python tipados. Las rutas dinámicas permiten un diseño de URLs basado en recursos.
Lección 5 • Redirecciones y Manejadores de Errores
Emite redirecciones HTTP y registra páginas de error personalizadas para las respuestas 404 y 500. Un manejo adecuado de errores mejora la experiencia de usuario y la depuración.
Capítulo 3OcultarOcultar detallesVer detallesPlantillas y el Motor Jinja2
Plantillas y el Motor Jinja2
Lección 1 • Renderizado de Plantillas con render_template
Pasa datos de Python a archivos HTML usando render_template y sintaxis Jinja2. Las plantillas separan la presentación de la lógica de negocio.
Lección 2 • Herencia de Plantillas y Bloques
Define una plantilla de diseño base y extiéndela en plantillas hijas usando etiquetas block. La herencia impone una estructura consistente en todo el sitio.
Lección 3 • Estructuras de Control en Jinja2
Usa bloques if/else y bucles for dentro de las plantillas para generar HTML condicional y repetido. Las estructuras de control eliminan el marcado redundante.
Lección 4 • Macros, Includes y Componentes Reutilizables
Encapsula fragmentos HTML repetidos como macros o parciales incluidos. Los componentes reutilizables reducen la duplicación en muchas páginas.
Lección 5 • Filtros y Pruebas de Plantillas
Transforma valores de salida con filtros integrados y escribe filtros personalizados para formato específico del proyecto. Los filtros mantienen la lógica fuera de las plantillas.
Capítulo 4OcultarOcultar detallesVer detallesFormularios, Validación y Entrada del Usuario
Formularios, Validación y Entrada del Usuario
Lección 1 • Validadores y Mensajes de Error
Aplica validadores integrados como DataRequired y Email, y muestra mensajes de error en las plantillas. Los validadores garantizan la integridad de los datos antes del procesamiento.
Lección 2 • Carga de Archivos
Acepta cargas de archivos, valida los tipos de archivo y guarda archivos de forma segura en el servidor. Un manejo seguro de cargas previene el path traversal y la ejecución de archivos maliciosos.
Lección 3 • Protección CSRF
Habilita y verifica tokens CSRF en cada envío de formulario para prevenir cross-site request forgery. La protección CSRF es obligatoria para cualquier formulario que cambie el estado.
Lección 4 • Configuración de Flask-WTF y WTForms
Instala Flask-WTF, configura una clave secreta y define clases de formulario con campos tipados. Las clases de formulario centralizan las reglas de validación y definiciones de campo.
Lección 5 • Manejo de Datos de Formulario Crudos
Lee los valores de formulario enviados desde request.form y request.args sin una librería de formularios. Entender el acceso crudo aclara lo que las herramientas de alto nivel abstraen.
Capítulo 5OcultarOcultar detallesVer detallesBases de Datos con Flask-SQLAlchemy
Bases de Datos con Flask-SQLAlchemy
Lección 1 • Definición de Modelos y Relaciones
Crea clases de modelo que se mapean a tablas de base de datos y define relaciones uno a muchos y muchos a muchos. Los modelos son la definición del esquema para la aplicación.
Lección 2 • Consultas Avanzadas y Paginación
Escribe consultas complejas con joins, agregaciones y ordenamiento, luego pagina conjuntos de resultados grandes. Las consultas eficientes reducen la carga de la base de datos y mejoran los tiempos de respuesta.
Lección 3 • Migraciones de Base de Datos con Flask-Migrate
Usa Flask-Migrate para generar y aplicar migraciones de esquema sin pérdida de datos. Las migraciones permiten una evolución segura y versionada del esquema en producción.
Lección 4 • Configuración de Flask-SQLAlchemy
Instala Flask-SQLAlchemy, configura la URI de la base de datos e inicializa el objeto db. El objeto db es la interfaz central para todas las operaciones de base de datos.
Lección 5 • Operaciones CRUD
Inserta, consulta, actualiza y elimina registros usando la API de sesión de SQLAlchemy. Las operaciones CRUD son los bloques de construcción de cada funcionalidad impulsada por datos.
Capítulo 6OcultarOcultar detallesVer detallesAutenticación y Gestión de Sesiones
Autenticación y Gestión de Sesiones
Lección 1 • Configuración de Flask-Login y User Loader
Instala Flask-Login, configura el LoginManager e implementa el callback user_loader. El user_loader reconstruye el usuario actual desde la sesión en cada solicitud.
Lección 2 • Hashing de Contraseñas y Modelo de Usuario
Hashea contraseñas con Werkzeug y almacena solo valores hasheados en la base de datos. Almacenar contraseñas en texto plano es una vulnerabilidad de seguridad crítica.
Lección 3 • Protección de Rutas con login_required
Restringe el acceso a las vistas usando el decorador @login_required y redirige a los usuarios no autenticados. La protección de rutas impone la autorización en la capa de vista.
Lección 4 • Control de Acceso Basado en Roles
Asigna roles a los usuarios y restringe las vistas según la pertenencia a un rol. RBAC separa lo que los diferentes tipos de usuario tienen permitido hacer.
Lección 5 • Vistas de Registro e Inicio de Sesión
Construye formularios de registro e inicio de sesión que crean cuentas y autentican usuarios. Estas vistas son los puntos de entrada a la porción autenticada de la aplicación.
Capítulo 7OcultarOcultar detallesVer detallesConstrucción de APIs RESTful con Flask
Construcción de APIs RESTful con Flask
Lección 1 • Principios REST y Diseño de API
Aplica las restricciones REST para diseñar esquemas de URL orientados a recursos y elige los verbos HTTP correctos. Un buen diseño de API reduce la complejidad del lado del cliente.
Lección 2 • Devolución de Respuestas JSON
Serializa objetos Python a JSON usando jsonify y establece los encabezados de respuesta apropiados. Una serialización consistente asegura la interoperabilidad con clientes de API.
Lección 3 • Manejo de Errores de API y Documentación
Devuelve respuestas de error JSON estructuradas y documenta los endpoints con docstrings o especificaciones OpenAPI. Mensajes de error y documentación claros reducen la fricción de integración.
Lección 4 • Autenticación de API con Tokens
Protege los endpoints de API usando autenticación basada en tokens con Flask-HTTPAuth o JWT. La autenticación por token sin estado es el estándar para las APIs REST.
Lección 5 • Análisis de Solicitudes JSON Entrantes
Lee y valida cargas JSON desde request.get_json() y maneja entradas mal formadas con elegancia. La validación de entrada previene el procesamiento de datos corruptos o maliciosos.
Capítulo 8OcultarOcultar detallesVer detallesPruebas, Despliegue y Preparación para Producción
Pruebas, Despliegue y Preparación para Producción
Lección 1 • Variables de Entorno y Gestión de Secretos
Inyecta secretos y configuración mediante variables de entorno y usa un archivo .env para el desarrollo local. Externalizar secretos evita que las credenciales entren al control de versiones.
Lección 2 • Registro, Monitoreo y Seguimiento de Errores
Configura el registro de Python, la salida de registro estructurada e integra un servicio de seguimiento de errores. La observabilidad permite un diagnóstico rápido de problemas en producción.
Lección 3 • Servidores WSGI y Proxies Inversos
Reemplaza el servidor de desarrollo con Gunicorn y coloca Nginx al frente como un proxy inverso. Los servidores WSGI de producción manejan la concurrencia que el servidor de desarrollo no puede.
Lección 4 • Fixtures de Prueba y Cobertura
Usa fixtures de pytest para configurar y desmontar el estado de prueba, y mide la cobertura de código con pytest-cov. Las métricas de cobertura revelan rutas de código no probadas.
Lección 5 • Pruebas Unitarias y de Integración con pytest
Escribe pruebas basadas en pytest para funciones de vista, modelos y validación de formularios usando el cliente de prueba de Flask. Las pruebas automatizadas detectan regresiones antes del despliegue.
Tu certificado válido de finalización
Este curso es para ti:
Creador de scripts en Python: listo para convertir código en aplicaciones web reales.
Persona en cambio de carrera: transitando de un trabajo no técnico al desarrollo web backend.
Analista de datos: quiere exponer modelos y resultados a través de una interfaz web.
Desarrollador freelance: necesita un stack de Python confiable para proyectos web de clientes.
Estudiante de CS: busca conectar el conocimiento académico de Python con frameworks prácticos.
Desarrollador junior: construyendo proyectos de portafolio para conseguir un primer puesto en backend.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en México?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















