首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板标记在哪里??包括在Django框架中期望找到的文件

问模板标记在哪里??包括在Django框架中期望找到的文件
EN

Stack Overflow用户
提问于 2014-08-10 21:13:56
回答 2查看 103关注 0票数 1

我有麻烦,包括在一个模板,就这样。我在文档中找不到包含的.html (我假设它与模板相同?),我把{% include "xy.html" %}放在一个文件中,但是看起来没有找到xy.html。我也找不到任何返回的错误。xy.html与其调用文件位于同一个目录中,用Django的话说,该文件位于一个模板文件夹中。

我没有显示错误信息,只是没有显示包含的文件。

我应该把xy.html文件放在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-10 21:15:37

根据 documentation

模板名可以是变量,也可以是硬编码(引号)字符串,无论是单引号还是双引号。

将模板名放入引号:

代码语言:javascript
复制
{% include "xy.html" %}

xy.html应该在TEMPLATE_DIRS目录中的任何位置。

FYI2,将TEMPLATE_DEBUG设置设置为True将有助于查看在呈现模板时引发异常时的详细错误消息。

票数 1
EN

Stack Overflow用户

发布于 2014-08-10 21:36:15

让我们使用一个名为foo的示例项目:

代码语言:javascript
复制
foo
    -blog
        -admin.py
        -models.py
        -views.py
        -tests.py
        -templates
            -blog
                -post.html
    -news
        -admin.py
        -models.py
        -views.py
        -tests.py
        -templates
            -newsitem.html
    -foo
        -settings.py
        -urls.py
        -wsgi.py
    -templates
        -base.html
        -blog
            -post.html

如果您的settings.py包括:

代码语言:javascript
复制
TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates')
)

然后Django用TEMPLATE_DIRS模板覆盖应用模板,这意味着如果post.html同时驻留在blog/post.html/blog/post.html和template /blog/post.html中(如上面的示例所示),则Django将加载后者。如果您不指定一个TEMPLATE_DIRS,那么Django将在每个应用程序的模板文件夹中搜索post.html,这意味着如果您指定一个: INSTALLED_APPS /INSTALLED_APPS/post.html和一个新闻/模板/blog/post.html都是有效的,则Django将根据您的INSTALLED_APPS外观加载模板:

代码语言:javascript
复制
INSTALLED_APPS = (

    ...
    'blog',
    'news',
    ...
)

然后Django将呈现博客应用程序的模板,而不是新闻应用程序的模板(如果我们在新闻模板下有一个blog/post.html )。然而,如果您的INSTALLED_APPS看起来像:

代码语言:javascript
复制
INSTALLED_APPS = (
    ...
    'news',
    'blog',
    ...
)

然后Django将从新闻应用程序中加载post.html,而不是博客应用程序(如果我们在新闻应用程序下有模板/ blog /post.html的话)。您还应该挑剔模板名,具有相似名称的模板将根据您的设置和INSTALLED_APPS顺序相互覆盖(较高的重写级别较低),TEMPLATE_DIRS模板总是覆盖所有其他模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25233071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档