回答
雖然我有一些問題,解釋你的問題,我相信你要找的是什麼就是什麼Django的稱之爲「包含標籤」。他們寫的很簡單:
>>> from django import template
>>> register = template.Library()
>>> @register.inclusion_tag('my_template.html')
>>> def my_tag(post):
>>> return {'post': post}
這應該去一個Python模塊名爲「templatetags」裏面其中一個應用程式內(不要忘記__init__.py
!)。然後,您可以加載它(如果您將文件命名爲my_tag.py),則如下所示:{% load my_tag %}
。每當您在該點之後使用{% my_tag post %}
時,Django將自動包含並呈現模板my_template.html
,並使用由該標記的返回值指定的上下文。有關更多信息,請參閱Django's custom template tags。
使用{%包括「foo.html」%}標籤給出了foo.html模板訪問到被包括它的模板的完整環境。我不知道爲什麼你需要限制包含模板的上下文。
如果限制的背景下是一個真正的需要,那麼我會建議找在編寫執行你的包括但呈現與指定的上下文包括模板的自定義模板標籤。這是相對微不足道的,但是,聽起來好像還有更好的方法可以解決這個問題。
您可以找到有關在DjangoProject.com網站(this page)編寫自定義的模板標籤信息。
雖然這是真的,但它有不必要的限制,所討論的變量需要是1)在視圖中預先計算,並且2)每次包含發生。通過包含標籤,模板設計人員可以控制這兩個因素。它們都是可行的選擇,但我個人認爲{%include%}是更受限制的選項。 – Cide 2009-07-27 17:07:39
我想{% include 'foo.html' only %}
會做你在找什麼。查看本手冊:https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#include
- 1. Django模板 - 更改「包含」模板的上下文
- 2. 如何在eclipse中添加模板上下文
- 3. 包含模板佈局並在其上添加組件
- 4. 基於上下文的Django包含模板
- 5. 始終在django模板上下文中包含用戶
- 6. jsRender包含模板中當前循環的當前上下文
- 7. 如何包含模板::工具包 - 宏?
- 8. 如何更改包含模板上的Meteor模板事件的行爲?
- 9. 如何傳遞上下文值以在Django中包含模板
- 10. 添加包含文件的添加控制器T4模板在ASP.NET MVC
- 11. AngularJS - 如何在沒有包裝的情況下包含模板
- 12. Backbone.js與生態模板:如何在模板中包含模板?
- 13. 如何將jquery模板文件作爲外部模板文件在每個文件中包含多個模板?
- 14. 如何在xcode上添加LevelHelper模板?
- 15. 如何爲datagrid列添加模板?
- 16. 我們如何爲電子郵件模板添加漢堡包
- 17. 下劃線模板:部分或包含
- 18. 如何在Django評論模板中包含帶有自定義上下文的基本模板?
- 19. 如何將包含模板的變量傳遞到包含它的模板?
- 20. 如何訪問模板父上下文
- 21. 如何在freemarker中爲包含模板定義數據模型
- 22. 如何包含Angular ngMessage模板
- 23. 如何在類中包含HTML模板?
- 24. 如何從包含的模板
- 25. 如何鏈{%包含%} Django的模板
- 26. Smarty:如何在模板中包含php?
- 27. 上下文不包含ExecuteStoreCommand
- 28. 如何添加/包含添加主題funtion.php文件?
- 29. 如何爲內核模塊生成文件添加包含路徑
- 30. perl的 - 需要在上下文中添加提取到模板
請編輯您的問題的清晰度 – Casebash 2010-06-20 02:06:08