Uso de Blueprints
Clase 23 de 36 • Curso de Flask
Contenido del curso
- 21

Planteamiento del proyecto: To Do List
01:54 - 22

App Factory
06:49 - 23

Uso de Blueprints
13:49 - 24

Blueprints II
07:30 - 25

Base de datos y App Engine con Flask
03:11 - 26
Configuración de Google Cloud SDK
00:17 - 27

Configuración de proyecto en Google Cloud Platform
07:11 - 28

Implementación de Firestore
11:53 - 29

Autenticación de usuarios: Login
11:20 - 30

Autenticación de usuarios: Logout
10:03 - 31

Signup
10:53 - 32

Agregar tareas
08:27 - 33

Eliminar tareas
13:24 - 34

Editar tareas
09:01 - 35

Deploy a producción con App Engine
07:43 - 36

Conclusiones
01:27
¿Qué es un Blueprint en Flask y cómo se implementa?
Un Blueprint en Flask es una herramienta fundamental que te permite organizar tu aplicación en módulos más pequeños y manejables. Imagina que tienes una aplicación grande con varias rutas y vistas; los Blueprints te facilitan dividir estas funcionalidades en "mini-aplicaciones" que puedes importar dentro de tu aplicación principal de Flask. Esto no solo mejora la estructura de tu aplicación, sino que también facilita su mantenimiento y escalabilidad.
¿Cómo crear un Blueprint llamado auth?
Para comenzar a trabajar con Blueprints, vamos a crear un Blueprint llamado 'auth', que se encargará de la autenticación de usuarios. Este Blueprint tendrá una vista inicial de login y aquí es donde comenzaremos a modularizar nuestra aplicación.
-
Crea un nuevo directorio: Esto se convertirá en tu paquete Python, digamos, nombrado
auth. -
Importa Blueprint desde Flask:
from flask import Blueprint -
Define tu Blueprint: Crearás un nuevo Blueprint llamado 'auth', que será el nombre del archivo y tendrá un prefijo de URL.
auth = Blueprint('auth', __name__, url_prefix='/auth')
¿Cómo crear rutas y vistas dentro del Blueprint?
Una vez que tenemos definido nuestro Blueprint 'auth', es momento de crear las rutas y vistas correspondientes. Estas serán similares a las rutas que normalmente definimos directamente en el archivo principal de nuestra aplicación, pero ahora estarán contenidas dentro de este módulo.
-
Crea un archivo
views.py: Aquí es donde almacenarás todas las rutas. -
Importa el Blueprint: Para crear las vistas, primero importamos
auth.from app import auth # desde el directorio de app -
Define una nueva vista de login: Esta se ubicará en la ruta
/auth/loginy utilizará un formulario de inicio de sesión existente.@auth.route('/login') def login(): # Aquí renderizaremos el formulario de login
¿Cómo integrar y probar el Blueprint?
Después de definir y crear tu Blueprint, el siguiente paso es integrarlo a la aplicación principal de Flask y asegurarse de que esté funcionando correctamente.
-
Registrar el Blueprint en la aplicación principal:
Necesitamos importar y registrar el Blueprint en el archivo
__init__.pyde nuestra aplicación principal.from auth import auth app.register_blueprint(auth) -
Pruebas con Test-Driven Development:
Implementa pruebas para asegurar que tu Blueprint funciona y que las rutas retornan el estado correcto, como un código 200 en el login.
-
Por ejemplo, prueba que el Blueprint
authesté registrado correctamente:self.assertIn('auth', self.app.blueprints)
-
-
Haz uso de herramientas como Blinkr para pruebas adicionales:
Flask, desde la versión 0.6, utiliza Blinkr para manejo de señales y contexto, así que asegúrate de tenerlo instalado y configurado dentro de tus dependencias.
Opcionalmente, al integrar Blinkr, puedes comprobar qué plantilla fue utilizada en ciertas respuestas, asegurando que las renderizaciones sean correctas.
¿Cuáles son los beneficios y consejos al usar Blueprints?
- Modularización: Permiten crear aplicaciones más organizadas dividiendo funcionalidades como autenticación, tareas o dashboard en componentes independientes.
- Reutilización de código: Facilitan la reutilización en múltiples aplicaciones si estructuras tus Blueprints de manera inteligente.
- Mantenimiento: Facilitan la gestión de cambios específicos sin afectar el sistema completo.
¡Adelante! Explora más sobre Flask y los Blueprint, y sigue aprendiendo a medida que construyes aplicaciones escalables y mantenibles. La práctica es clave, y verás cómo dominar estos conceptos potencia tu habilidad de desarrollo en backend.