0Pricing
Flask Academy · Lektion

current_app und das g-Objekt

Greifen Sie auf die aktive App und den requestbezogenen Speicher zu.

current_app und das g-Objekt ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

current_app kennenlernen

current_app ist ein Proxy, der immer auf die App verweist, die gerade die Arbeit ausführt. Importieren Sie ihn, wenn Sie die aktive Anwendung benötigen.

from flask import current_app

Warum app nicht importieren?

Der direkte Import Ihres app-Objekts führt mit wachsendem Projekt zu zirkulären Importen. current_app umgeht dieses Problem, indem die App zur Laufzeit aufgelöst wird.

Konfiguration lesen

Eine häufige Verwendung ist das Lesen von Einstellungen: current_app.config liefert die Konfiguration der aktiven App, ohne das App-Modul zu importieren.

key = current_app.config["SECRET_KEY"]

Es benötigt einen Kontext

current_app funktioniert nur, während ein App-Kontext aktiv ist. Innerhalb einer View geschieht das automatisch, da der Request für Sie einen Kontext aktiviert.

Das g-Objekt kennenlernen

g ist ein einfacher Notizblock für eine Anfrage. Hängen Sie beliebige Daten daran an und lesen Sie sie später innerhalb derselben Anfrage wieder aus.

from flask import g
g.user = "alice"

g gilt pro Anfrage

Das g-Objekt wird für jede Anfrage zurückgesetzt. Daten, die Sie darin ablegen, gelangen niemals in die Anfrage eines anderen Besuchers.

Eine typische Verwendung von g

Verwenden Sie g, um Arbeit innerhalb einer Anfrage zwischen Funktionen zu teilen, etwa indem Sie den aktuellen Benutzer zwischenspeichern und ihn nur einmal aus der Datenbank abrufen.

if "db" not in g:
    g.db = connect()

g ist kein Speicher

Betrachten Sie g nicht als Datenbank. Es vergisst alles, sobald die Anfrage endet. Verwenden Sie es daher nur für die Lebensdauer dieser Anfrage.

g lebt im App-Kontext

Überraschenderweise gehört g zum App-Kontext, nicht zum Request-Kontext. In der Praxis existieren während einer Anfrage beide, daher funktioniert es einfach.

Mit g aufräumen

Kombinieren Sie g mit Teardown-Handlern, um geöffnete Ressourcen zu schließen, etwa eine Datenbankverbindung nach dem Senden der Antwort.

@app.teardown_appcontext
def close(exc):
    g.pop("db", None)

current_app und g gemeinsam

Sie ergänzen sich gut: Lesen Sie Einstellungen aus current_app und legen Sie anfragespezifische Ergebnisse in g ab, damit der restliche Request sie wiederverwenden kann.

Kurztest

Bestimmen wir genau, wofür g gedacht ist.

Zusammenfassung

Zwei praktische Proxies: current_app findet die aktive App und ihre Konfiguration, während g als Notizblock pro Anfrage dient, den Sie jedes Mal leeren. 🎉

Häufig gestellte Fragen

Ist die Lektion „current_app und das g-Objekt“ kostenlos?

Ja — der vollständige Text von „current_app und das g-Objekt“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „current_app und das g-Objekt“?

Greifen Sie auf die aktive App und den requestbezogenen Speicher zu. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „current_app und das g-Objekt“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. App Context und Request Context
  2. current_app und das g-Objekt
  3. Context Locals und Thread-Sicherheit
  4. Einen Context in Skripten und Shells pushen
← Zurück zu Flask Academy