【问题标题】:Including a menu on every page in Django在 Django 的每个页面上都包含一个菜单
【发布时间】:2013-02-16 03:58:04
【问题描述】:

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

假设菜单有指向 A、B、C 和 D 的链接。如果我在页面 B 上,那么 B 应该是红色的,而所有其他的应该是黑色的。

关于如何做到这一点有什么想法?

【问题讨论】:

    标签: html css django


    【解决方案1】:

    我发现这是最干净的解决方案之一: 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' %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2011-02-13
      • 2011-01-14
      相关资源
      最近更新 更多