如何在Django的所有模板中包含一个文件

时间:2011-11-23 05:44:00

标签: django django-templates

基本上我有一个包含更多模板的正在运行的项目。

现在我的情况是我必须在所有现有模板中包含一个新的django模板文件。

似乎使用包含标记将其包含在每个模板中更耗时且效率低下。

所以我想知道是否有任何替代方法可以在所有模板中提供此django模板文件。

抱歉我的草率英语。

1 个答案:

答案 0 :(得分:1)

您可以在基本模板中定义一个块,其中包含您的文件(只需一次):

在base.html中:

{% block including_file %}
    {% include "my_file.html" %}
{% endblock %}

然后让所有其他模板扩展您的基本模板:

{% extends "base.html" %}

编辑:如果您有一些模板没有扩展基本模板,您可以使用{% block including_file %}进行通用基本模板,而不是其他任何模板。这样,base.html扩展了generic_base.html,而不扩展base.html的模板现在只能扩展generic_base.html