Primeros pasos con Flask
Esta guía tiene la finalidad de dar los primeros pasos con Flask empleando Python; con esto, vamos a plantear dos cosas:
No es un libro que tenga por objetivo conocer al 100% Flask, o de cero a experto, ya que, sería un objetivo demasiado grande para el alcance de esta guía, si no, conocer que nos ofrece y crear las primeras aplicaciones web con Flask, conocer sus extensiones, crear una API, usar Jinja2 entre otros.
Se da por hecho de que el lector tiene conocimientos al menos básicos en el desarrollo de Python.
Este libro tiene un enfoque práctico, conociendo los aspectos claves de la tecnología y pasando a la práctica, implementando de a poco pequeñas características de una aplicación que tiene alcance real.
Para seguir este libro necesitas tener una computadora con Windows, Linux o MacOS.
El libro se encuentra actualmente en desarrollo.
Este libro consta de 20 capítulos, con los cuales conoceremos en detalle las características más importantes y básicas de Flask:
Capítulo 1: 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 2: 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 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.