Django 模板不存在包含或扩展标签
Django template does not exist include or extends tags
我正在创建一个 Django 项目。我相信我的问题很简单,但我很难弄清楚。我有一个 index.html
,我想在其中渲染某些东西。我决定不希望我的每个 html 页面都有一个 html header,这对我来说很疯狂。我创建了一个包含 html header 的 base.html
文件,我想将它重新用于我的其他 html 文件,但如果可能的话,我该怎么做呢? .
所以我最不确定的是使用哪个标签 {% include "base.html" %}
或 {% extends "base.html"%}
。直觉告诉我应该使用 {% include "base.html" %}
因为我不相信我应该继承。然后与此相关的第二个问题是我如何 include
或 extends
。我刚刚创建了一个 base.html
文件和一个 index.html
文件,并且在我的 views
文件中有一个 index view
,它用 context
渲染 index.html
。
如果我只使用 index.html
文件,一切正常,但是当我在我的 index.html
文件中执行 {% include "base.html" %}
时,它不起作用并且错误提示 temlate base.html
不存在。如果我使用 extends
而不是 include
也是一样
I don't want to have a html header for every one of my html pages
定义一个块,您可以根据需要在其他 html 页面中定义,如下所示:
在base.html
中:
{% block header %}{% endblock %}
在index.html
中:
{% block header %}
{% include "header.html" %}
{% endblock %}
在page_without_header.html
中:
// avoid defining the header block
我正在创建一个 Django 项目。我相信我的问题很简单,但我很难弄清楚。我有一个 index.html
,我想在其中渲染某些东西。我决定不希望我的每个 html 页面都有一个 html header,这对我来说很疯狂。我创建了一个包含 html header 的 base.html
文件,我想将它重新用于我的其他 html 文件,但如果可能的话,我该怎么做呢? .
所以我最不确定的是使用哪个标签 {% include "base.html" %}
或 {% extends "base.html"%}
。直觉告诉我应该使用 {% include "base.html" %}
因为我不相信我应该继承。然后与此相关的第二个问题是我如何 include
或 extends
。我刚刚创建了一个 base.html
文件和一个 index.html
文件,并且在我的 views
文件中有一个 index view
,它用 context
渲染 index.html
。
如果我只使用 index.html
文件,一切正常,但是当我在我的 index.html
文件中执行 {% include "base.html" %}
时,它不起作用并且错误提示 temlate base.html
不存在。如果我使用 extends
而不是 include
I don't want to have a html header for every one of my html pages
定义一个块,您可以根据需要在其他 html 页面中定义,如下所示:
在base.html
中:
{% block header %}{% endblock %}
在index.html
中:
{% block header %}
{% include "header.html" %}
{% endblock %}
在page_without_header.html
中:
// avoid defining the header block