如果模板继承必须是第一个模板标记,我们如何使所有应用程序都可以使用自定义标记?

时间:2011-06-24 12:54:37

标签: django django-templates

可能我们都有一个base.html,这是其他模板继承的。从文档中我们看到了这个:

{% extends "base.html" %}

必须是子模板中的第一个模板标记。所以,如果我们在base.html中执行此操作:

{% load my_tags %}

继承将失败。有没有办法让它可以为所有模板提供一些标签?

1 个答案:

答案 0 :(得分:1)

这两件事情彼此无关。

无论您将load函数放在模板中,加载的标记只能用于该模板 - 不是任何子模板,包含的模板或包含标记呈现的模板。这就是Django模板范围的工作方式。

如果您真的想让所有模板都可以使用模板标签,请参阅my answer here,但请注意,这通常是一个坏主意。