Django包含标签

时间:2016-11-23 00:06:11

标签: python django include

我们正在使用django和python。我正面临包含标签的问题。我想在所有应用程序模块中包含一个标头。 在应用程序模板目录中包含所有带有模块子文件夹的html文件。在任何子模块中,如果我在base.html中创建标题html并包含此标记,那么它正在运行。 但是,如果我将标头html放在父目录中,它不适用于任何子模块。 我甚至用django模板在html中尝试{% include "../header.html" %},但没有运气。

我的应用程序的项目结构,其中根目录我有模板,静态,处理程序文件夹。在内部模板中,我有sub1sub2个文件夹。在sub1中我有base.html和模板父目录base.html,header.html,index.html。见下文:

Root
----templates
----------Sub1
-----------------base.html
----------Sub2
----------base.html
----------header.html
----------index.html
----static
----handlers

2 个答案:

答案 0 :(得分:1)

Django模板包含标签无法识别相对路径。您需要在模板目录下为其指定路径,因此请尝试使用以下代码:

{% include "Sub2/header.html" %}

<强>更新

好像你的“header.html”在“Sub2”级别而不在其中,即它直接位于模板目录下所以你应该尝试:

{% include "header.html" %}

答案 1 :(得分:0)

我不确定我是否了解你。只需尝试{% include "header.html" %},django模板的搜索应该从模板文件夹开始。

模板文件夹在Django配置文件“setting.py”中配置。

TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')

另外,我有一个项目,可以使用webpack和支持jade,es6和scss从后端分离Django模板开发。自述文件是中文:(,但您可以运行项目并检查源代码。

https://github.com/njleonzhang/webpack-django-starter