我认为规范的答案是:“不要”。
相反,您可能应该做的是在视图代码中分解内容,因此只需遍历模板中的(in | de
)凹痕即可。我想我可以通过在循环遍历树时将缩进和缩进附加到列表中,然后将该“旅行”列表发送到模板来做到这一点。(然后,模板将插入该列表<li>
并</li>
从该列表中插入,以“理解”它来创建递归结构。)
使用with模板标记,我可以做树/递归列表。
样例代码:
主模板:假设“ all_root_elems”
是树的一个或多个根的列表
<ul>
{%for node in all_root_elems %}
{%include "tree_view_template.html" %}
{%endfor%}
</ul>
tree_view_template.html呈现nested ul,li并使用node模板变量,如下所示:
<li> {{node.name}}
{%if node.has_childs %}
<ul>
{%for ch in node.all_childs %}
{%with node=ch template_name="tree_view_template.html" %}
{%include template_name%}
{%endwith%}
{%endfor%}
</ul>
{%endif%}
</li>