Using with
template tag, I could do tree/recursive list.
Sample code:
main template: assuming ‘all_root_elems’ is list of one or more root of tree
<ul>
{%for node in all_root_elems %}
{%include "tree_view_template.html" %}
{%endfor%}
</ul>
tree_view_template.html renders the nested ul
, li
and uses node
template variable as below:
<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>