有没有更好的方法来写出我的django-treemenu模板?

时间:2010-09-30 07:59:39

标签: django menu

我正在使用django-treemenus

我很想知道是否有更好的方法来编写我的menu.html这是我的菜单模板。对于我添加到菜单中的每个级别,我必须手动将级别添加到菜单模板中。

这是我的menu.html(菜单模板)。它有效,但可以更有效地编写吗?

{% load tree_menu_tags %}
{% ifequal menu_type "horizontal" %}
    <ul><!-- Root -->
        {% for menu_item in menu.root_item.children %}
                <!-- Level 1-->
                {% if menu_item.has_children %}                    
                    <li><a href="{{ menu_item.url }}">{{ menu_item.caption }}</a>
                        <ul>
                            {% for child in menu_item.children %}
                                <!-- Level 2-->
                                {% if child.has_children %}
                                    <li><a href="{{ child.url }}">{{ child.caption }}</a>
                                        <ul>
                                            {% for childchild in child.children %}
                                                <!-- Level 3-->
                                                {% if childchild.has_children %}
                                                    <li><a href="{{ childchild.url }}">{{ childchild.caption }}</a>
                                                        <ul>
                                                            {% for childchildchild in childchild.children %}                                                                    
                                                                {% show_menu_item childchildchild %}
                                                            {% endfor %}
                                                        </ul>
                                                    </li>
                                                {% else %}
                                                    <li><a href="{{ childchild.url }}">{{ childchild.caption }}</a></li>
                                                {% endif %}
                                                <!-- End Level 3 -->
                                            {% endfor %}
                                        </ul>
                                    </li>
                                {% else %}
                                    <li><a href="{{ child.url }}">{{ child.caption }}</a></li>
                                {% endif %}
                                <!-- End Level 2 -->
                            {% endfor %}
                        </ul>
                    </li>
                {% else %}
                    <li><a href="{{ menu_item.url }}">{{ menu_item.caption }}</a></li>
                {% endif %}    
                <!-- End Level 1 -->
        {% endfor %}
    </ul><!-- End Root -->
{% endifequal %}

1 个答案:

答案 0 :(得分:1)