Elige tu idioma
Curso de Flask
Más de 2 millones de estudiantes en todo el mundo

Curso de Flask

4

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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