2010-12-03 49 views
4

Django文檔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()對象。

那麼,什麼是用例呢?

回答

1

用例將作爲範圍,例如循環和模板繼承。

+1

哦,真的。我想到它,但文檔沒有說這種行爲:) SO:當在上部範圍中缺少一個鍵時 - 它會進一步搜索。當添加/修改密鑰時 - 這些更改不會影響較低的作用域。 – kolypto 2010-12-03 01:19:54