Django docs say dass Context
Objekt ist ein Stapel:In Django-Vorlagen ist `Context` ein Stapel. Wozu?
from django.template import Context
c = Context()
c['a'] = 1
c.push() # Make a new Context level
c['a'] = 2
print(repr(c)) # [{'a': 1}, {'a': 2}]
Auch die docs sagen
einen Kontext Verwendung als ein Stapel praktisch ist, in einigen benutzerdefinierten Vorlagen-Tags
jedoch Es gibt kein Beispiel dafür. Mein Vorschlag: Es ist nützlich, ein Subtemplate mit einem sauberen Kontext zu rendern. aber man kann stattdessen einfach ein neues leeres Context()
Objekt verwenden.
Also, was ist der Anwendungsfall?
Oh, wirklich. Ich habe darüber nachgedacht, aber die Docs sagen nichts von einem solchen Verhalten :) SO: wenn ein Schlüssel im oberen Bereich fehlt - es wird weiter gesucht. Wenn ein Schlüssel hinzugefügt/geändert wird, wirken sich diese Änderungen nicht auf niedrigere Bereiche aus. – kolypto