【问题标题】:Django include tagDjango包含标签
【发布时间】:2017-04-06 20:10:05
【问题描述】:

我们正在使用 django 和 python。我面临包含标签的问题。我想在应用程序的所有模块中包含一个标题。 在应用程序模板目录中包含所有带有模块子文件夹的 html 文件。在任何子模块中,如果我正在创建标头 html 并将此标记包含在 base.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

【问题讨论】:

    标签: python django include


    【解决方案1】:

    Django 模板包含标签不识别相对路径。您需要为其提供模板目录下的路径,因此请尝试使用以下内容:

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

    更新:

    似乎您的“header.html”在“Sub2”级别而不是在其中,即它直接在模板目录下所以您应该尝试:

    {% include "header.html" %}
    

    【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

    • 我也试过 {% include "header.html" %} 这个,不确定模板文件是否必须先加载。
    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 2012-12-22
    • 2012-07-05
    • 2014-07-29
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2015-12-26
    相关资源
    最近更新 更多