Signale in Flask für den Anwendungszyklus

FlaskFlaskBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du Signale in Flask verwendest. Signale sind eine leichte Möglichkeit, Abonnenten über bestimmte Ereignisse während des Lebenszyklus der Anwendung und jeder Anfrage zu benachrichtigen. Signale ermöglichen es dir, Aktionen in Reaktion auf bestimmte Ereignisse auszuführen, ohne die Anwendungslogik direkt zu beeinflussen. Sie eignen sich für Tests, Metriken, Auditing und vieles mehr.

Hinweis: Du musst die Code-Datei selbst erstellen und sie in der Umgebung ausführen. Du kannst den Status des Flask-Diensts auf Web 5000 vorab anzeigen.


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{{"Signale in Flask für den Anwendungszyklus"}} flask/application_object -.-> lab-136106{{"Signale in Flask für den Anwendungszyklus"}} flask/sessions -.-> lab-136106{{"Signale in Flask für den Anwendungszyklus"}} flask/useful_internals -.-> lab-136106{{"Signale in Flask für den Anwendungszyklus"}} end

Installation von Flask und Blinker

Bevor wir beginnen, stellen Sie sicher, dass Sie Flask und Blinker installiert haben. Sie können sie mit pip installieren:

pip install flask blinker

Importieren der erforderlichen Module

In Ihrer Flask-Anwendung importieren Sie die erforderlichen Module:

from flask import Flask
from blinker import Namespace

Erstellen einer Flask-Anwendung

Erstellen Sie eine Flask-Anwendungsinstanz:

app = Flask(__name__)

Erstellen eines Namensraums für Signale

Erstellen Sie einen Namensraum für Ihre Signale mit der Blinker-Bibliothek:

my_signals = Namespace()

Erstellen eines Signals

Erstellen Sie ein neues Signal in Ihrem Namensraum. Geben Sie es einen beschreibenden Namen, um das Ereignis zu identifizieren, das es repräsentiert:

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

Abonnieren eines Signals

Um sich einem Signal abonnieren zu können, verwenden Sie die connect-Methode des Signals. Geben Sie eine Funktion an, die aufgerufen werden soll, wenn das Signal ausgelöst wird:

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

Auslösen eines Signals

Um ein Signal auszulösen, rufen Sie die send-Methode des Signals auf. Übergeben Sie den Sender als erstes Argument:

model_saved.send(app)

Ausführen der Anwendung

Schließlich führen Sie die Flask-Anwendung aus:

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

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in Flask Signale verwenden, um Abonnenten über bestimmte Ereignisse während des Lebenszyklus der Anwendung zu informieren. Sie haben einen Namensraum für Signale erstellt, ein Signal erstellt, sich auf das Signal abonniert und das Signal ausgelöst. Signale sind ein leistungsstarkes Werkzeug, um Funktionalität Ihrer Flask-Anwendung hinzuzufügen, ohne die Anwendungs-Code direkt zu verändern.