Django 告诉我现有模板不存在。 | {% 包括 %}

问题描述 投票:0回答:1

我当前正在尝试指向 Django 中的一个模板,该模板不在调用模板所在的目录中。

这是已复制并粘贴到此处的相对路径:

static\libraries\templates\our-tech-stack.html

Root
|
|---static
|   |
|   |--libaries
|      |
|      |--templates
|          |
|          |--<our-tech-stack.html>
|---templates
    |
    |--<calling-template.html>    

这是

include
中的
<calling-template.html>

{% include "../static/libraries/templates/our-tech-stack.html" %}

这是我的设置

settings.py

'DIRS': [
            .
            ...
            ...
            os.path.join(BASE_DIR, 'static/libraries/templates'),
            ...
            ...
            ...
            
        ],

正如你所看到的,这已经被正确设置了,那么为什么 Django 告诉我模板不存在,而它显然是存在的?

阅读office文档 - 然而,官方文档是错误的。

django
1个回答
0
投票

这里有一些东西,其中一些是很好的实践,其中一些只是 Django 的工作原理,

  1. 将 html 放在 templates 目录下,而不是放在 static 中。即使是静态页面。
  2. 静态文件应该通过运行
    python manage.py collectstatic
    收集到同一目录中,尽管对于本地开发(即
    runserver
    ),它们也应该从任何应用程序文件夹提供服务。
  3. 在模板中使用
    {% load static  %}
    标签,然后使用
    {% static 'path/to/file' %}
    设置静态文件 - 这将在运行collectstatic后处理开发服务器和实时部署。
  4. settings.py
    应定义
    STATIC_URL
    STATIC_ROOT
    STATICFILES_DIRS
    ,以实现开发和生产部署之间的功能一致。
© www.soinside.com 2019 - 2024. All rights reserved.