Ich möchte Standardwerte für Variablen in meiner Jinja-Vorlage innerhalb der Vorlage selbst festlegen. Wenn ich mir die Jinja2-Dokumentation anschaue, sehe ich keinen Weg, dies zu tun. Habe ich etwas verpasst? Ich sehe den "Standard" -Filter, aber ich möchte die Wertvorlage breit anstelle von Verwendung nach Verwendung festlegen.
Ich verbrachte ungefähr eine Stunde damit, mir selbst genug über den Jinja2-Erweiterungsprozess zu lehren, um ein Erweiterungs-Tag setdefault
zu schreiben, das folgendermaßen aussehen könnte:
Der gewünschte Effekt wäre äquivalent zum set
-Tag, wenn der zugewiesene Name nicht definiert ist, aber keinen Effekt hat, wenn der zugewiesene Name definiert wurde. Ich habe es bisher nicht geschafft, dies zum Funktionieren zu bringen.
Meine Arbeit besteht darin, Jinja komplett zu umgehen und eine zusammengesetzte Datei zu erstellen; Der Bereich vor einer speziellen Markierung ist eine (yaml) Zuordnung von Standardwerten und der Bereich nach einer Markierung ist die jinja Vorlage. Eine Proof-of-Concept-Implementierung, die gut zu funktionieren scheint, ist:
%Vor%Also, gibt es eine Möglichkeit, das Äquivalent auf Lager Jinja2 zu machen, oder wie könnte man eine Erweiterung schreiben, um den gewünschten Effekt zu erzielen?
Die Kontrollstruktur festlegen kann tun, was Sie wollen.
Hier ist ein Code, den ich getestet habe:
%Vor%Wie erwartet gibt es Folgendes aus:
%Vor%