在Jinja temp中循环任意嵌套的数据

2024-04-23 09:26:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的dict列表,其中每个dict都可以有一个children键,还有一个dict列表。这可以嵌套任意深。如何在Jinja中循环这个来输出嵌套列表?你知道吗

[{
    'id': '1',
    'name': 'Level 1',
    'children': [{
        'id': '11',
        'name': 'Level 1.1'
    }, {
        'id': '12',
        'name': 'Level 1.2'
    }, {
        'id': '13',
        'name': 'Level 1.3',
        'children': [{
             'id': '131',
             'name': 'Level 1.3.1'
         }]
    }]
},
{
    'id': '2',
    'name': 'Level 2',
    'children': [{
        'id': '21',
        'name': 'Level 2.1'
    }]
}]

Tags: nameid列表leveldictjinjachildren
1条回答
网友
1楼 · 发布于 2024-04-23 09:26:03

for循环中使用^{}选项。现在调用特殊的loop变量将使用嵌套内容重复循环。你知道吗

<ul>
    {% for item in data recursive %}
    <li>{{ item.name }}
    {% if item.children %}
        <ul>{{ loop(item.children) }}</ul>
    {% endif %}</li>
    {% endfor %}
</ul>

相关问题 更多 >