我正在使用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 %}
答案 0 :(得分:1)