Übergeben Sie Variablen an alle Jinja2-Vorlagen mit Flask

8

Ich habe eine Tabelle im Navigationssystem meiner Webapp, die jedes Mal, wenn eine Seite gerendert wird, mit aktuellen Informationen gefüllt wird. Wie kann ich vermeiden, den folgenden Code in jedes view einzufügen?

%Vor%

mydict wird zum Auffüllen der Tabelle verwendet. Die Tabelle wird auf jeder Seite angezeigt

    
Brian Leach 31.07.2015, 16:12
quelle

2 Antworten

15

Sie können Flasks Context-Prozessoren verwenden, um Globals in Ihre jinja-Vorlagen zu injizieren

>

Hier ist ein Beispiel:

%Vor%
  

Um neue Variablen automatisch in den Kontext einer Vorlage einzufügen,   Kontextprozessoren existieren in Flask. Kontext-Prozessoren laufen vor dem   Vorlage wird gerendert und kann neue Werte einfügen   der Vorlagenkontext Ein Kontextprozessor ist eine Funktion, die a zurückgibt   Wörterbuch. Die Schlüssel und Werte dieses Wörterbuchs werden dann zusammengeführt   mit dem Vorlagenkontext für alle Vorlagen in der App:

    
Josh J 31.07.2015, 16:15
quelle
1

Schreiben Sie Ihre eigene Render-Methode, halten Sie sich davon ab, diesen Code zu wiederholen. Rufen Sie es dann auf, wenn Sie eine Vorlage rendern müssen.

%Vor%     
Brobin 31.07.2015 16:15
quelle

Tags und Links