【发布时间】:2011-08-01 00:02:35
【问题描述】:
这更像是一个关于这四种不同类型 django 标签之间区别的一般问题。我刚刚阅读了有关模板标签的文档页面: http://docs.djangoproject.com/en/dev/howto/custom-template-tags/
但我发现我很难知道何时应该使用一种变体而不是另一种。例如,模板标签能做什么而 simple_tag 不能?过滤器是否仅限于操作字符串,这就是为什么文档说模板标签更强大,因为它们可以“做任何事情”?
这是我对区别的看法:
- 模板过滤器:只对字符串进行操作并返回字符串。无法访问模型?
- 模板标签:访问你可以在视图中访问的任何东西,编译成具有指定渲染函数的节点(似乎唯一的优点是你可以将变量添加到上下文中?)
- simple_tags:接受字符串和模板变量并返回一个字符串,传递给你的是模板变量的值而不是变量本身(你什么时候希望变量本身超过值?)
- 包含标签:允许您呈现任意额外的模板
谁能举例说明我何时想使用其中一个而不是另一个?
谢谢。
【问题讨论】: