在从加载标记的视图扩展的页面上使用Django template_tag

时间:2012-03-10 14:16:23

标签: django django-templates

我在我的应用中添加了一个模板标记,我在inc/base.html的视图中加载了该标记。此视图包含我的基本HTML布局。我的所有其他观点都以{% extends "inc/base.html" %}开头。

在我的一个观看中,我想引用我的模板标记,该标记使用以下代码加载到inc/base.html{% load spb_utils %}。如果我尝试使用base.html中的模板标签,它可以正常工作,但如果我尝试任何其他视图,它会出错,除非我手动将{% load spb_utils %}添加到扩展视图中。

这种行为是故意的吗?例如,如果我扩展模板,Django是否故意不加载'父'模板加载的任何模板标签?是否有一种智能的方式来全局加载我的标签?

感谢。

1 个答案:

答案 0 :(得分:4)

这是正确的行为。扩展模板不会加载其模板标记。

总是加载代码,请参阅this answer,但您应该仔细考虑是否真的需要这样:

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
[...]