我试图显示对象模型列表(机器人),模型有一个字段Parent,可以是另一个Robot。
我已经使用MPTT为Django实现了一个嵌套列表:
{% load mptt_tags %}
<ul>
{% recursetree nodes %}
<li>
<a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
{% if not node.is_leaf_node %}
<ul class="children">
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
</ul>
我现在想要使列表变得可扩展/可折叠 - 例如,我可以缩小所有节点的子节点。我在使用Javascript时遇到了麻烦,因为节点都是同一个类。有没有其他简单的方法来实现这个?
答案 0 :(得分:2)
你可以使用node.level
找出你在树中的等级,所以你只需要在顶级添加一个额外的CSS类,如下所示:
<ul id="node-{{ node.pk }}" class="children{% if node.level==0 %} top_level{% endif %}">
node.tree_id
也可能很有趣,而不仅仅是pk