Django包含标签
我们在python中使用django。我正面临着包含标签的问题。我想在应用程序的所有模块中包含一个头文件。 在应用程序模板目录中包含所有包含模块子文件夹的html文件。在任何子模块中,如果我正在创建header html并在base.html中包含此标记,那么它正在工作。 但是,如果我把头HTML放在父目录中,它不适用于任何子模块。 我甚至在django模板的html中尝试过{% include "../header.html" %}
,但没有运气。Django包含标签
我的应用程序的项目结构,其中根目录我有模板,静态,处理程序文件夹。里面的模板我有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
我不知道我是否理解你。试试{% include "header.html" %}
,django模板的搜索应该从模板文件夹开始。
模板文件夹在Django配置文件“setting.py”中配置。
TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')
另外,我有一个项目,该项目可seprate Django的模板使用的WebPack和支持玉,ES6和SCSS后端发展。自述是中国:(,但你可以运行该项目,并检查源代码。
Django模板包括标签不承认相对路径。你需要给它你的模板目录下的路径,所以尽量使用替代以下:
{% include "Sub2/header.html" %}
更新:
好像你的“header.html中”是对“分公司2”的水平,而不是它里面也就是说,它的双直接在模板目录下所以你应该尝试:
{% include "header.html" %}
已经尝试过,力度锻炼。 –
为了记录Django 1.10现在支持包含的相对路径并扩展了https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include – amjoconn
我试过{%include“header.html”%}这个也不知道模板文件是否必须先加载或不加载。 –