Signaux dans Flask pour le cycle de vie de l'application

FlaskFlaskBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser les signaux dans Flask, qui sont un moyen léger de prévenir les abonnés de certains événements au cours du cycle de vie de l'application et de chaque requête. Les signaux vous permettent d'effectuer des actions en réponse à des événements spécifiques sans affecter directement le code de l'application. Ils sont utiles pour les tests, les métriques, l'audit et bien d'autres choses.

Note: Vous devez créer le fichier de code vous-même et l'exécuter dans l'environnement. Vous pouvez prévisualiser l'état du service Flask sur 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{{"Signaux dans Flask pour le cycle de vie de l'application"}} flask/application_object -.-> lab-136106{{"Signaux dans Flask pour le cycle de vie de l'application"}} flask/sessions -.-> lab-136106{{"Signaux dans Flask pour le cycle de vie de l'application"}} flask/useful_internals -.-> lab-136106{{"Signaux dans Flask pour le cycle de vie de l'application"}} end

Installation de Flask et Blinker

Avant de commencer, assurez-vous d'avoir Flask et Blinker installés. Vous pouvez les installer à l'aide de pip :

pip install flask blinker

Importation des modules requis

Dans votre application Flask, importez les modules nécessaires :

from flask import Flask
from blinker import Namespace

Création d'une application Flask

Créez une instance d'application Flask :

app = Flask(__name__)

Création d'un espace de noms pour les signaux

Créez un espace de noms pour vos signaux à l'aide de la bibliothèque Blinker :

my_signals = Namespace()

Création d'un signal

Créez un nouveau signal dans votre espace de noms. Donnez-lui un nom descriptif pour identifier l'événement qu'il représente :

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

S'abonner à un signal

Pour vous abonner à un signal, utilisez la méthode connect du signal. Fournissez une fonction qui doit être appelée lorsque le signal est émis :

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

Émettre un signal

Pour émettre un signal, appelez la méthode send du signal. Passez l'émetteur en tant que premier argument :

model_saved.send(app)

Exécution de l'application

Enfin, exécutez l'application Flask :

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

Récapitulatif

Dans ce laboratoire, vous avez appris à utiliser les signaux dans Flask pour avertir les abonnés de certains événements au cours du cycle de vie de l'application. Vous avez créé un espace de noms pour les signaux, créé un signal, vous êtes abonné au signal et émis le signal. Les signaux sont un outil puissant pour ajouter des fonctionnalités à votre application Flask sans modifier directement le code de l'application.