Curso y Libro en Flask 3 con Python 3 + integración con Vue 3 y Bootstrap 5 - Desde Cero
Índice de contenido
- Sobre el curso
- ¿Por qué aprender Flask hoy?
- Flask como microframework: rápido, flexible y escalable
- Diferencias reales con Django al comenzar un proyecto
- Qué puedes construir con Flask
- Objetivo
- Para quién es este curso y libro
- Temario del curso y libro
- Qué incluye este curso y libro de Flask
- Módulos
- Introducción al curso
- Introducción a Flask
- Primeros pasos con Python (Reforzamiento)
- Template en Flask con Jinja
- Base de datos
- Flask-Migrate
- Formularios
- Relaciones
- Mensajes flash y sesión
- Autenticación: Flask Login
- Rest Api
- Pruebas unitarias
- Archivos estáticos, Bootstrap 5
- Localización y traducciones
- Extensiones
- Roles y Perfil de usuario
- Decoradores personalizados
- Variables de entorno
- (Exclusivo de Academia y Libro) Filtrar con formularios
- Introducción al curso
- Python básico
- Conociendo el mundo de Python, pip y Flask
- Creando una app de almacen con Blueprint y Jinja2
- Creando una app: SQLAlchemy para crear relaciones con nuestra base de datos
- Creando una app de almacén: Bootstrap 4 o 5, +SQLAlchemy y Flask WFT
- Autenticación en Flask: Creando un módulo de login
- Creando una Rest Api
- Conecta tus aplicaciones con Vue
- Conectarse a la Rest Api con Vue 2 (Legacy)
- Extra: Aspectos generales
- Extra: Paquetes o módulos imprescindibles para Flask
- Potenciando el módulo administrador
- Crear un sencillo sistema de Facturación
- Refactorizar app para hacerla más modular
- Creando una Rest Api con el paquete de Flask restful
- Flask Dance: Login Social
- Flask socketIO: Comunicación Full Duplex
- Operaciones comunes en SQLAlchemy
- Deployment
Este es el curso MÁS completo que encontrarás de Flask, veremos de todo, desde aspectos básicos como las rutas, controladores, vistas, modelos, manejo de formularios, validaciones, entre otros hasta aspectos más completos como Rest Api con token de autenticación (y una app para consumir la misma desde Vue), manejo de cache, roles, paquetes imprescindibles y mucho más, el detalle del curso lo puedes ver en la parte inferior de esta publicación y lo mejor, es que es una inversión para varios años ya que, de manera gratuita, mantendré el curso por varios años a las nuevas versiones y dando mayor soporte por Academia.
En este curso vas a aprender a crear tus primeras aplicaciones web en Flask framework empleando Python 3, junto con el lenguaje más famoso para este lenguaje de programación como lo es Python.
También tengo recursos gratuitos para el Curso en el Blog y el curso comunitario/GRATIS en la web de Academia.
Es importante mencionar, que el curso también tiene el formato en libro con el 100% del contenido del mismo, es decir, el curso es equivalente al libro.
Flask es un framework web estupendo para la creación de aplicaciones web del lado del servidor con Python; si no tienes conocimientos en el uso de frameworks web del servidor con Python, Flask es un buen candidato para inciar; al ser un microframework, lo que significa que inicialmente trae lo mínimo necesario para poder funcionar, puedes ir viendo de a poco cómo funciona el framework sin dar cabida a confusiones con archivos, estructura de directorios o módulos que no haz colocado, como sucede con otros frameworks más robustos como Django, que al crear un proyecto en Django, cuenta con muchos archivos y carpetas.
Aunque, que Flask sea un microframework no significa que debe ser empleado para proyectos pequeños, ya que, cuenta con una gran cantidad de extensiones que puedes configurar al proyecto en base a las necesidades del mismo; por ejemplo, si necesitas enviar emails, ya existen extensiones, al igual que si quieres realizar el login social, conectarse mediante ftp, módulos de usuarios, etc.
Este curso y libro es mayoritariamente práctico, iremos conociendo los fundamentos de Flask, conociendo sus características principales en base a una pequeña aplicación que iremos expandiendo sección tras sección.
Sobre el curso
¿Por qué aprender Flask hoy?
Flask como microframework: rápido, flexible y escalable
Flask es uno de esos frameworks que te dejan construir justo lo que necesitas. Nada más, nada menos. Cuando yo empecé, algo que me encantó fue poder agregar funcionalidades de a poco, sin sentirme abrumado por estructuras gigantes como pasa en otros frameworks.
Esa flexibilidad es precisamente la que lo hace tan poderoso para proyectos reales, desde sitios pequeños hasta arquitecturas modulares con blueprints, APIs REST y microservicios.
Diferencias reales con Django al comenzar un proyecto
He trabajado con Django y Flask, y si estás comenzando, Flask te evita muchas confusiones: pocos archivos, pocas decisiones obligatorias y un enfoque progresivo que te permite entender el por qué detrás de cada cosa.
Con Django, un proyecto nuevo ya te crea carpetas y módulos que no pediste. Con Flask, ves el esqueleto crecer en tus manos.
Qué puedes construir con Flask
Hoy Flask se usa para:
- Aplicaciones web completas
- Paneles internos y dashboards
- APIs REST con autenticación
- Microservicios
- Aplicaciones híbridas con frontends como Vue o React
Y en este curso verás cada uno de estos escenarios reflejados.
Objetivo
Flask es un framework web estupendo para la creación de aplicaciones web del lado del servidor con Python; si no tienes conocimientos en el uso de frameworks web del servidor con Python, Flask es un buen candidato para iniciar; al ser un microframework, lo que significa que inicialmente trae lo mínimo necesario para poder funcionar, puedes ir viendo de a poco cómo funciona el framework sin dar cabida a confusiones con archivos, estructura de directorios o módulos que no haz colocado, como sucede con otros frameworks más robustos como Django, que al crear un proyecto en Django, cuenta con muchos archivos y carpetas.
Aunque, que Flask sea un microframework no significa que debe ser empleado para proyectos pequeños, ya que, cuenta con una gran cantidad de extensiones que puedes configurar al proyecto en base a las necesidades del mismo; por ejemplo, si necesitas enviar emails, ya existen extensiones, al igual que si quieres realizar el login social, conectarse mediante ftp, módulos de usuarios, etc.
Este curso es mayoritariamente práctico, iremos conociendo los fundamentos de Flask, conociendo sus características principales en base a una pequeña aplicación que iremos expandiendo capitulo tras capitulo.
Para quién es este curso y libro
Este Curso y libro está dirigido a cualquier persona que quiera aprender a desarrollar en Flask sus primeras aplicaciones y conocer uno de los frameworks más famosos en el desarrollo de aplicaciones web con Python.
Para aquellas personas que conozcan cómo programar en Python u otros frameworks web.
Para aquellas personas que quieran aprender algo nuevo.
Para las personas que quieran mejorar una habilidad y que quieran crecer como desarrollador y que quiera seguir escalando su camino en el desarrollo de aplicaciones con Python.
- Si programas en Python y quieres dar el salto al desarrollo web
- Si ya conoces Python, Flask es el puente natural para crear aplicaciones web modernas. No necesitas nada más.
- Si quieres crear APIs sin complejidad innecesaria
- Flask es perfecto si buscas control, flexibilidad y proyectos limpios. Es rápido, elegante y directo.
- Si ya probaste Django y buscas más control y flexibilidad
- Muchos estudiantes me han comentado que vienen de Django y encuentran en Flask un respiro: menos “magia”, más control total, al ser una en en su mínima expresión todo es más manual y personalizable.
Temario del curso y libro
Este libro y curso consta de 20 capítulos o secciones, con los cuales conoceremos en detalle las características más importantes y básicas de Flask:
- Capítulo 1: En este capítulo vamos a presentar el software necesario para crear proyectos en Flask, qué pasa desde Python, hasta preparar el entorno, el editor que emplearemos VSC y un navegador web.
- Capítulo 2: En este capítulo daremos una introducción a Python conociendo sus características básicas y funcionalidades como variables, tipos de datos, funciones, clases entre otros.
- Capítulo 3: Presentamos algunos comandos imprescindibles para desarrollar en Flask, prepararemos el entorno y daremos una introducción al framework, crearemos una estructura para el proyecto en Flask y conoceremos de manera básica el ruteo para los controladores.
- Capítulo 4: En este capítulo veremos cómo emplear el motor de plantillas en por excelencia en Flask que es Jinja, con el cual podremos devolver respuestas en formato HTML y personalizar la página con código Python incrustado con el cual podremos personalizar mediante bloques, filtros, macros, entre otros.
- Capítulo 5: En este capítulo veremos cómo conectar una aplicación en Flask a una base de datos relacional como lo es MySQL empleando SQLAlchemy; veremos cómo configurar una base de datos, conexión mediante los modelos, generación de migraciones automáticas en base a los modelos y las operaciones CRUDs básicas para manipular la base de datos.
- Capítulo 6: En este capítulo instalaremos la extensión de Flask Migrate para configurar un sistema de migraciones para el proyecto y de esta forma poder personalizar las tablas y tener un esquema robusto para poder realizar cambios en la base de datos de manera práctica y escalable, además de poder crear una traza con estos cambios.
- Capítulo 7: En este capítulo usaremos la extensión de Form WTF para crear formularios, aplicar validaciones, valores iniciales y posteriormente volcar estos datos a la base de datos, estos formularios son clases con los atributos anteriormente mencionados y de esta forma podemos aplicar un mismo esquema para manipulación de los datos del lado del servidor y cliente.
- Capítulo 8: En este capítulo veremos cómo emplear las relaciones de tipo uno a uno, uno a muchos y muchos a muchos en Flask con SQLAlchemy.
- Capítulo 9: En este capítulo veremos cómo emplear los mensajes tipo flash útiles para indicar al usuario sobre las operaciones realizadas.
- Capítulo 10: En este capítulo usaremos Flask Login para crear un sistema de autenticación para registrar usuarios, realizar el login, hacer el logout y poder proteger controladores.
- Capítulo 11: En este capítulo veremos cómo implementar una Rest Api empleando el paquete de Flash Restful, generar tokens de acceso y realizar las conexiones de pruebas en Postman y empleando el paquete de requests.
- Capítulo 12: En este capítulo veremos cómo implementar pruebas unitarias que forman parte del desarrollo de cualquier aplicación, para ello, usaremos el paquete de Pytest disponible para Python.
- Capítulo 13: En este capítulo integraremos el framework web Bootstrap 5 a nuestro proyecto en Flask, de esta manera, veremos cómo emplear ambas tecnologías en conjunto y aplicaremos estilos a los formularios, listados, menú de navegación, entre otros.
- Capítulo 14: En este capítulo usaremos Flask Babel para agregar un sistema de multilenguaje a la aplicación, para dotar a la aplicación de que pueda emplear más de un idioma.
- Capítulo 15: En este capítulo conoceremos varias extensiones de Flask que no hemos empleado hasta este capítulo, como caché, CLI, un debug banner, email, entre otros.
- Capítulo 16: En este capítulo aprenderemos a crear decoradores personalizados para emplear en los controladores.
- Capítulo 17: En este capítulo integraremos un sistema de roles a la aplicación, además de esto, potenciaremos el perfil de usuario con varias opciones como opción de cambiar la contraseña, redes sociales, dirección, idioma preferido entre otros.
- Capítulo 18: Este capítulo vamos a conocer algunas operaciones a la base de datos empleando SQLAlchemy, además de conocer cómo emplear la shell de Flask.
- Capítulo 19: En este capítulo vamos a conocer cómo emplear los archivos para manejar las variables de entorno en Flask.
- Capítulo 20: En este capítulo vamos a crear nuestro primer experimento que será un filtro para filtrar por término de búsqueda, categoría y etiqueta.
Qué incluye este curso y libro de Flask
- Desde rutas y vistas hasta APIs con token
- Arrancamos desde cero: rutas, controladores, vistas y métodos HTTP. Pero en mi caso, siempre me gusta llevarte más allá. Por eso, uno de los pilares del curso es crear una API REST real con autenticación por token, algo que muy pocos cursos incluyen y que cambia totalmente tu forma de trabajar.
- Formularios, validaciones y plantillas con Jinja2
- Flask + Jinja2 es una combinación brutal. Aprenderás a generar plantillas dinámicas, reutilizar componentes y validar formularios como un profesional. Aquí uso la experiencia que gané trabajando con WTForms y validaciones personalizadas que me han salvado la vida más de una vez.
- Bases de datos con SQLAlchemy y modelos
- SQLAlchemy es el ORM por excelencia en Flask. No solo te enseño a usarlo, sino a estructurar modelos de forma limpia, aplicar migraciones y manejar relaciones como un senior.
- Blueprints, roles y arquitectura profesional
- Una de las partes más valoradas por mis estudiantes. Los blueprints te enseñan a pensar en módulos independientes, perfectos para escalar proyectos sin que se vuelvan un caos.
- En esta parte integro varios aprendizajes que he aplicado en mis propios proyectos:
- Sistema de roles
- Organización limpia por carpetas
- Buenas prácticas de modularidad
- Separación backend / frontend
- App en Vue para consumir tu API
- Pocos cursos hacen esto: te enseño a consumir tu API desde una pequeña aplicación en Vue. Fue una de mis mejores decisiones al crear el temario, porque entiendes el ciclo completo de un desarrollo moderno.
Módulos
- Módulo 1: Fundamentos
- Instalación
- Entorno virtual
- Primer servidor
- Rutas básicas
- Templates y archivos estáticos
- Módulo 2: Estructura del Proyecto
- Configuración avanzada
- Blueprints
- Errores 404 y handlers
- Módulo 3: Formularios y Seguridad
- WTForms
- Validaciones
- CSRF
- Mensajes flash
- Módulo 4: Bases de Datos
- SQLAlchemy
- Relaciones
- CRUD profesional
- Migraciones
- Módulo 5: Sesiones, Roles y Autenticación
- Sesiones
- Login y logout
- Roles
- Protección de rutas
- Módulo 6: API REST y consumo con Vue
- Endpoints
- Token de autenticación
- Frontend en Vue para consumir la API
- Módulo 7: Cache, emails y extras
- Cache con extensión
- Envío de correos
- Buenas prácticas
Una de las cosas que más orgullo me da es que mantengo este curso actualizado por años, gratis para estudiantes. Cada nueva versión de Flask trae mejoras que integro sin costo adicional.
Repositorios de los proyectos:
Una app Demo creada en el curso y libro:
Acepto recibir anuncios de interes sobre este Blog.
En este libro veremos como usar Flask, el microframework web en Python, desde la configuración básica, el hola mundo, conociendo el MVC, el manejo de las vistas con Jinja 2, SQLAlchemy para la conexión a la base de datos y los modelos, autenticación, Rest API y mucho más.
Algunas recomendaciones:
Benjamin Huizar Barajas
Laravel Legacy - Ya había tomado este curso pero era cuando estaba la versión 7 u 8. Ahora con la ac...
Andrés Rolán Torres
Laravel Legacy - Cumple de sobras con su propósito. Se nota el grandísimo esfuerzo puesto en este cu...
Cristian Semeria Cortes
Laravel Legacy - El curso la verdad esta muy bueno, por error compre este cuando ya estaba la versi...
Bryan Montes
Laravel Legacy - Hasta el momento el profesor es muy claro en cuanto al proceso de enseñanza y se pu...
José Nephtali Frías Cortés
Fllask 3 - Hasta el momento, están muy claras las expectativas del curso
| 👤 Andrés Cruz
Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso: