Django 模板:在同一个基础中使用多个块标签

use*_*003 6 django django-templates

在更改所有模板之前,我想确保我已经正确理解了这一点。我有一个带有整体布局的 base.html。这有一个 {% 块内容 %}。我的每个内容页面都扩展了“base.html”并被块标记包围。这很好用。我的视图返回呈现的内容页面,它很好地放置在布局中。

现在我也在 menubar.html 中创建了一个菜单栏,除了所选页面/内容的颜色不同之外,每个页面的菜单应该是相同的。所以它需要知道加载了什么内容。

我的 base.html 现在也有一个 {% block menubar %}

我即将打开我所有的内容模板并向它们添加以下内容:

{% include "menubar.html" %}
Run Code Online (Sandbox Code Playgroud)

然后,在 menubar.html 中,我将用块标记包围菜单。那是对的吗?我认为块系统的重点是可以通过 base.html 以某种方式控制更多的事情,而无需更改我的所有模板。

scy*_*ale 7

我建议只放入{% include "menubar.html" %}base.html。

要突出显示菜单中的当前页面,请使用以下内容:https : //stackoverflow.com/a/477719/473285