Señales en Flask para el Ciclo de Vida de la Aplicación

FlaskFlaskBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a usar señales en Flask, que son una forma ligera de notificar a los suscriptores de ciertos eventos durante el ciclo de vida de la aplicación y cada solicitud. Las señales le permiten realizar acciones en respuesta a eventos específicos sin afectar directamente el código de la aplicación. Son útiles para pruebas, métricas, auditoría y más.

Nota: Debe crear el archivo de código por sí mismo y ejecutarlo en el entorno. Puede previsualizar el estado del servicio Flask en Web 5000.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("Flask")) -.-> flask/DataHandlingGroup(["Data Handling"]) flask(("Flask")) -.-> flask/CoreConceptsGroup(["Core Concepts"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("Incoming Request Data") flask/CoreConceptsGroup -.-> flask/application_object("Application Object") flask/CoreConceptsGroup -.-> flask/sessions("Sessions") flask/CoreConceptsGroup -.-> flask/useful_internals("Useful Internals") subgraph Lab Skills flask/incoming_request_data -.-> lab-136106{{"Señales en Flask para el Ciclo de Vida de la Aplicación"}} flask/application_object -.-> lab-136106{{"Señales en Flask para el Ciclo de Vida de la Aplicación"}} flask/sessions -.-> lab-136106{{"Señales en Flask para el Ciclo de Vida de la Aplicación"}} flask/useful_internals -.-> lab-136106{{"Señales en Flask para el Ciclo de Vida de la Aplicación"}} end

Instalación de Flask y Blinker

Antes de comenzar, asegúrese de tener Flask y Blinker instalados. Puede instalarlos usando pip:

pip install flask blinker

Importando los Módulos Requeridos

En su aplicación de Flask, importe los módulos necesarios:

from flask import Flask
from blinker import Namespace

Creando una Aplicación de Flask

Cree una instancia de la aplicación de Flask:

app = Flask(__name__)

Creando un Espacio de Nombres para las Señales

Crea un espacio de nombres para tus señales utilizando la biblioteca Blinker:

my_signals = Namespace()

Creando una Señal

Crea una nueva señal en tu espacio de nombres. Dale un nombre descriptivo para identificar el evento que representa:

model_saved = my_signals.signal('model-saved')

Suscribiéndose a una Señal

Para suscribirse a una señal, utilice el método connect de la señal. Proporcione una función que debe ser llamada cuando la señal se emite:

@model_saved.connect
def on_model_saved(sender):
    print("Model saved!")

Emitiendo una Señal

Para emitir una señal, llame al método send de la señal. Pase el emisor como primer argumento:

model_saved.send(app)

Ejecutando la Aplicación

Finalmente, ejecuta la aplicación Flask:

if __name__ == '__main__':
    app.run()

Resumen

En este laboratorio, aprendiste cómo utilizar señales en Flask para notificar a los suscriptores de eventos específicos durante el ciclo de vida de la aplicación. Creaste un espacio de nombres para las señales, creaste una señal, te suscribiste a la señal y emitiste la señal. Las señales son una herramienta poderosa para agregar funcionalidad a tu aplicación Flask sin modificar directamente el código de la aplicación.