使用Django将活动菜单传递给模板

时间:2013-06-25 14:37:48

标签: django django-templates

http://djangosnippets.org/snippets/2421/处的此示例按原样运行。

放置在templates / includes / tabs.html

    <ul class="tab-menu">
        <li class="{% if active_tab == 'tab1' %} active{% endif %}"><a href="#">Tab 1</a></li>
        <li class="{% if active_tab == 'tab2' %} active{% endif %}"><a href="#">Tab 2</a></li>
        <li class="{% if active_tab == 'tab3' %} active{% endif %}"><a href="#">Tab 3</a></li>
    </ul>

放置在page.html模板中

    {% include "includes/tabs.html" with active_tab='tab1' %}

变量从页面模板传递到tabs.html。

您将如何从以下位置传递活动标签变量:

- page.html (pass active tab1)
    -   extends base.html
        - includes tabs.html (how to get it here.)

1 个答案:

答案 0 :(得分:0)

在您的base.html中,您可以拥有{% block tabs %}

{% block tabs %}{% endblock %}

在您的page.html

{% extends "base.html" %}
{% block tabs %}
    {% include "includes/tabs.html" with active_tab='tab1' %}
{% endblock %}

如果这还不够DRY你可以为你的标签创建一个自定义inclusion tag