我想在更改所有模板之前确保我已正确理解这一点。我有一个base.html与我的整体布局。这有{%block content%}。我的每个内容页面都扩展为“base.html”,并被块标记包围。这非常有效。我的视图返回渲染的内容页面,并且它很好地放置在布局中。
现在我还在menubar.html中创建了一个菜单栏。除了所选页面/内容的颜色不同之外,每个页面的菜单应该相同。所以它需要知道加载了什么内容。
我的base.html现在还有一个{%block menubar%}
我即将打开所有内容模板,并将以下内容添加到其中:
{% include "menubar.html" %}
然后,在menubar.html中,我将使用块标签包围菜单。那是对的吗?我认为块系统的重点在于,可以通过base.html控制更多内容,而无需更改我的所有模板。
答案 0 :(得分:2)
我建议将{% include "menubar.html" %}
放入base.html。
要突出显示菜单中的当前页面,请使用以下内容:https://stackoverflow.com/a/477719/473285
答案 1 :(得分:2)
如果您的内容模板从base.html延伸,并且{% block menubar %}
在{% block content %}
之外,您不需要修改所有内容模板,只需使用base.html