7

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

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

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

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

{% include "menubar.html" %}

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

4

2 回答 2

7

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

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

于 2012-10-15T16:13:37.820 回答
3

如果您的内容模板是从 base.html 扩展而来的,并且在{% block menubar %}外部,{% block content %}您不需要修改所有内容模板,只需修改 base.html

于 2012-10-15T16:17:52.003 回答