在Django的每个页面上都包含一个菜单

Sno*_*man 5 html css django

我对如何正确地做这件事感到有些困惑.我有一个名为menu.html的模板文件.我想将menu.html包含在我网站的每个页面中,所以我已经完成了{% include "menu.html" %},而且工作得很好.我坚持的是,如果我点击一个菜单链接,那么它的颜色应该变成红色,只要我在那个页面上就应该保持红色.

所以我们说菜单上有A,B,C和D的链接.如果我在B页上,那么B应该是红色,其他所有应该是黑色.

有关如何实现这一目标的一些想法?

Mat*_*att 8

我发现这是最干净的解决方案之一:http: //djangosnippets.org/snippets/2421/

万一链接死了,这是代码:

CSS

ul.tab-menu li a {
  text-decoration: none;
  color: #000;
}

ul.tab-menu li.active a {
  color: #F00;
}
Run Code Online (Sandbox Code Playgroud)

menu.html

<ul class="tab-menu">
    <li class="{% if active_tab == 'A' %}active{% endif %}"><a href="#">A</a></li>
    <li class="{% if active_tab == 'B' %}active{% endif %}"><a href="#">B</a></li>
    <li class="{% if active_tab == 'C' %}active{% endif %}"><a href="#">C</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

页'A'

{% include "menu.html" with active_tab='A' %}
Run Code Online (Sandbox Code Playgroud)

页面'B'

{% include "menu.html" with active_tab='B' %}
Run Code Online (Sandbox Code Playgroud)

页面'C'

{% include "menu.html" with active_tab='C' %}
Run Code Online (Sandbox Code Playgroud)