Curso y Libro en Flask 3 con Python 3 + integración con Vue 3 y Bootstrap 5 - Desde Cero

Video thumbnail

Índice de contenido

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

  • ¿Para quién es este curso?

    En este curso aprenderás desde lo más básico como trabajar con Flask desde una app mínima hasta una app completamente funcional instalando y usando paquetes necesarios para el buen funcionamiento de la app; además usaremos Vue y Bootstrap 4 o 5; a continuación, te damos una introducción a lo que verás en el curso:

    1. Personas que desean comenzar a aprender a utilizar Flask.
    2. Personas que ya tienen un conocimiento básico de Flask y quieren continuar aprendiendo.
    3. Personas que quieran aprender de manera profesional una herramienta de trabajo excelente siendo el líder del desarrollo web con Python.
  • Requisitos del curso

    1. Conocimientos al menos básicos en HTML, CSS, JavaScript y por supuesto PHP y con esto quiero decir que te hayas aventurado al menos en crear una sencilla aplicación empleando estas tecnologías en conjunto; por lo demás, no necesitas otros conocimientos pero cualquier conocimiento extra como en Node o trabajar en otro framework PHP son más que bienvenidos.
    2. Tener una PC con algun Linux, Windows o MacOS.
    3. ¡Que tengas ganas de aprender y salir adelante!.
  • ¿Qué puedes esperar del curso y qué no?

    Este curso y libro de ofrece una introducción desde cero y organizada para crear tus aplicaciones en Flask y su ecosistema relacionado; veremos las principales características de Flask (aunque hay material que fue grabado con versiones anteriores del framework) con tecnologías relacionadas como:

    • Bootstrap 5, para la creación de componentes visuales, el responsive y el layout en general.
    • Uso de plugin para Node y Vue.
    • Node para la instalación de paquetes mediante NPM y ofrecer una mejor experiencia desde el lado del cliente.
    • Vue para crear nuestra web de tipo SPA (Single Page Application) con la Rest Api en Flask.

    De tal modo que emplearemos estas tecnologías relacionadas cuando sean necesarias avanzar en el curso; pero no es el objetivo del curso enseñar estas tecnologías relacionadas como lo son Bootstrap 5, Vue , Node con el NPM

    Aunque veremos una introducción a cada una de ellas he iremos desde lo más básico, pero recuerda que que no veremos cada uno de sus componentes porque ya sería demasiado; pero si vamos a conocer más que las bases de Flask.

 

 

 

¿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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Capítulo 9: En este capítulo veremos cómo emplear los mensajes tipo flash útiles para indicar al usuario sobre las operaciones realizadas.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. Capítulo 16: En este capítulo aprenderemos a crear decoradores personalizados para emplear en los controladores.
  17. 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.
  18. 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.
  19. Capítulo 19: En este capítulo vamos a conocer cómo emplear los archivos para manejar las variables de entorno en Flask.
  20. 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: