
Curso de Flask
Dominá Flask desde cero y construí aplicaciones web reales en Python que sean seguras, escalables y listas para producción. Este curso cubre todo, desde enrutamiento y plantillas hasta bases de datos, autenticación, APIs REST y despliegue. Vas a adquirir las habilidades prácticas que los empleadores y clientes realmente buscan en un desarrollador backend Python.
Qué vas a aprender:
Vas a aprender a configurar un entorno de desarrollo profesional con Flask y a estructurar proyectos para que sean fáciles de mantener 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. Vas a implementar autenticación de usuarios con Flask-Login, construir APIs RESTful con seguridad basada en tokens y escribir 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, vas a saber cómo configurar el registro de eventos, aplicar buenas prácticas de seguridad y desplegar una aplicación Flask completamente funcional en un servidor en producción.
Cómo estudiás de forma práctica Curso de Flask
Cómo practicás Curso de Flask
Para vos que sos empresa y querés 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 Python y entornos virtuales
Configurá Python, pip y entornos virtuales aislados para proyectos Flask. Un aislamiento adecuado evita conflictos de dependencias entre proyectos.
Lección 2 • Gestión de la configuración
Cargá y alterná entre configuraciones de desarrollo, testing y producción. La configuración externalizada mantiene los secretos fuera del código fuente.
Lección 3 • Tu primera aplicación Flask
Escribí y ejecutá una app Flask mínima para entender el patrón application factory. Los estudiantes trazan una solicitud desde el navegador a la función Python y viceversa.
Lección 4 • Instalación y configuración de Flask
Instalá Flask y verificá la instalación con una app mínima. Esto establece la cadena de herramientas base para todos los capítulos siguientes.
Lección 5 • Estructura de un proyecto Flask
Organizá 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 detallesRouting, vistas y construcción de URLs
Routing, vistas y construcción de URLs
Lección 1 • Conceptos básicos de rutas y métodos HTTP
Definí rutas con el decorador @app.route y restringilas a métodos HTTP específicos. Esto conecta patrones de URL con la lógica de las vistas.
Lección 2 • Blueprints para la organización de rutas
Agrupá 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
Generá URLs a partir de nombres de endpoint en lugar de strings hardcodeados. url_for mantiene los enlaces consistentes cuando las rutas cambian.
Lección 4 • Parámetros de URL dinámicos
Capturá segmentos variables en las URL y convertilos a valores Python tipados. Las rutas dinámicas permiten un diseño de URL basado en recursos.
Lección 5 • Redirecciones y manejadores de errores
Emití redirecciones HTTP y registrá páginas de error personalizadas para 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
Pasá datos 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
Definí una plantilla base de layout y extendela en plantillas hijas usando etiquetas block. La herencia impone una estructura consistente en todo el sitio.
Lección 3 • Estructuras de control en Jinja2
Usá bloques if/else y bucles for dentro de las plantillas para generar HTML condicional y repetitivo. Las estructuras de control eliminan el markup redundante.
Lección 4 • Macros, includes y componentes reutilizables
Encapsulá fragmentos HTML repetidos como macros o partials incluidos. Los componentes reutilizables reducen la duplicación en muchas páginas.
Lección 5 • Filtros y tests de plantillas
Transformá valores de salida con filtros incorporados y escribí 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
Aplicá validadores incorporados como DataRequired y Email, y mostrá mensajes de error en las plantillas. Los validadores refuerzan la integridad de los datos antes del procesamiento.
Lección 2 • Carga de archivos
Aceptá cargas de archivos, validá tipos de archivo y guardalos de forma segura en el servidor. El manejo seguro de cargas previene path traversal y ejecución de archivos maliciosos.
Lección 3 • Protección CSRF
Habilitá y verificá tokens CSRF en cada envío de formulario para prevenir cross-site request forgery. La protección CSRF es obligatoria para cualquier formulario que modifique estado.
Lección 4 • Configuración de Flask-WTF y WTForms
Instalá Flask-WTF, configurá una secret key y definí clases de formulario con campos tipados. Las clases de formulario centralizan las reglas de validación y las definiciones de campos.
Lección 5 • Manejo de datos crudos de formularios
Leé valores de formulario enviados desde request.form y request.args sin una librería de formularios. Entender el acceso crudo clarifica 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
Creá clases de modelo que mapean a tablas de la base de datos y definí 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
Escribí consultas complejas con joins, agregados y ordenamiento, y paginá conjuntos de resultados grandes. Las consultas eficientes reducen la carga en la base de datos y mejoran los tiempos de respuesta.
Lección 3 • Migraciones de base de datos con Flask-Migrate
Usá 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
Instalá Flask-SQLAlchemy, configurá la URI de la base de datos e inicializá el objeto db. El objeto db es la interfaz central para todas las operaciones de base de datos.
Lección 5 • Operaciones CRUD
Insertá, consultá, actualizá y eliminá 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
Instalá Flask-Login, configurá el LoginManager e implementá 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 User Model
Hasheá contraseñas con Werkzeug y almacená 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
Restringí el acceso a las vistas usando el decorador @login_required y redirigí 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
Asigná roles a los usuarios y restringí vistas según la pertenencia al rol. RBAC separa lo que los diferentes tipos de usuarios pueden hacer.
Lección 5 • Vistas de registro e inicio de sesión
Construí 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 app.
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
Aplicá restricciones REST para diseñar esquemas de URL orientados a recursos y elegir 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
Serializá objetos Python a JSON usando jsonify y establecé cabeceras de respuesta apropiadas. Una serialización consistente asegura la interoperabilidad con clientes de API.
Lección 3 • Manejo de errores y documentación de API
Devolvé respuestas de error JSON estructuradas y documentá 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
Protegé endpoints de API usando autenticación basada en tokens con Flask-HTTPAuth o JWT. La autenticación stateless por token es el estándar para APIs REST.
Lección 5 • Parseo de solicitudes JSON entrantes
Leé y validá payloads JSON desde request.get_json() y manejá entradas mal formadas con elegancia. La validación de entrada previene el procesamiento de datos corruptos o maliciosos.
Capítulo 8OcultarOcultar detallesVer detallesTesting, despliegue y preparación para producción
Testing, despliegue y preparación para producción
Lección 1 • Variables de entorno y gestión de secretos
Inyectá secretos y configuración mediante variables de entorno y usá un archivo .env para desarrollo local. Externalizar secretos evita que las credenciales entren al control de versiones.
Lección 2 • Logging, monitoreo y seguimiento de errores
Configurá el logging de Python, la salida de logs estructurados e integrá 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
Reemplazá el servidor de desarrollo con Gunicorn y colocá Nginx al frente como 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
Usá fixtures de pytest para establecer y desmontar el estado de prueba, y medí la cobertura de código con pytest-cov. Las métricas de cobertura revelan caminos de código no probados.
Lección 5 • Pruebas unitarias y de integración con pytest
Escribí 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 vos:
Escribís scripts en Python y estás listo para convertir código en aplicaciones web reales.
Estás cambiando de carrera: venís de un área no técnica y querés pasar al desarrollo web backend.
Sos analista de datos y querés exponer modelos y resultados a través de una interfaz web.
Sos desarrollador freelance y necesitás un stack Python confiable para proyectos web de clientes.
Sos estudiante de Ciencias de la Computación y buscás unir los conocimientos académicos de Python con frameworks prácticos.
Sos desarrollador junior y estás armando proyectos de portfolio para conseguir tu primer puesto 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... les agradezco por todo lo que hacen, ya los recomendé a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear 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 Argentina?
¿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




















