4
Django docs sayContext
オブジェクトがスタックであること:Djangoのテンプレートでは、 `Context`はスタックです。何のために?
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}]
コンテキストをスタックとして使用すると、いくつかのカスタムテンプレートタグで便利になる
ただし、 、その例はありません。私の提案:クリーンなコンテキストでサブテンプレートをレンダリングすると便利です。代わりに新しい空のContext()
オブジェクトを使用することができます。
だから、ユースケースは何ですか?
ああ、本当に。私はそれを考えましたが、ドキュメントはそのような振る舞いは何も言いません:)そう:上位のスコープにキーがないと、それはさらに検索されます。キーが追加/変更されたとき、これらの変更は低いスコープに影響しません。 – kolypto