我们正在使用django和python。我正面临包含标签的问题。我想在所有应用程序模块中包含一个标头。
在应用程序模板目录中包含所有带有模块子文件夹的html文件。在任何子模块中,如果我在base.html中创建标题html并包含此标记,那么它正在运行。
但是,如果我将标头html放在父目录中,它不适用于任何子模块。
我甚至用django模板在html中尝试{% include "../header.html" %}
,但没有运气。
我的应用程序的项目结构,其中根目录我有模板,静态,处理程序文件夹。在内部模板中,我有sub1
和sub2
个文件夹。在sub1中我有base.html和模板父目录base.html,header.html,index.html。见下文:
Root
----templates
----------Sub1
-----------------base.html
----------Sub2
----------base.html
----------header.html
----------index.html
----static
----handlers
答案 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模板开发。自述文件是中文:(,但您可以运行项目并检查源代码。