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" %} 因为我不相信我应该继承。然后与此相关的第二个问题是我如何 includeextends。我刚刚创建了一个 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