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

时间:2013-03-01 15:33:15

标签: html css django

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

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

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

2 个答案:

答案 0 :(得分: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;
}

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>

页面'A'

{% include "menu.html" with active_tab='A' %}

页面'B'

{% include "menu.html" with active_tab='B' %}

页面'C'

{% include "menu.html" with active_tab='C' %}

答案 1 :(得分:1)

此问题已在此前多次询问过。我最近遇到了同样的问题,在这里找到了我的首选答案:Navigation in django