在后端,我从 API 获取文件夹结构。我递归地遍历这个结构来获取所有文件夹。然后这些都存储在“平面”有序字典中。每个文件夹都存储有一些属性来定义结构、父文件夹的 id、它拥有的子文件夹的数量以及它自己是否是子节点。
现在,从这个有序的字典中,我试图用 Genshi 制作一个漂亮的分层视图,但到目前为止我得到的最远的是下面的模板。这导致只有 2 个级别,即根级别和下面的一个级别。任何更深的文件夹都将显示在第二级。
我试图做到这一点,而不必诉诸于对数据的初始解析进行大量关系检查以获取文件夹所在的级别等。有没有人有任何聪明的想法?
<body>
<div class="main_content">
<h1>Catalogue Tree</h1>
<ul>
<li py:for="nodeId, nodeProps in nodes.iteritems()">
<a py:if="nodeProps['SubNode'] == False" href="${tg.url('/node/' + nodeId)}">${nodeProps['Name']}</a>
<py:if test="nodeProps['SubNode'] == True">
<ul>
<a href="${tg.url('/node/' + nodeId)}">${nodeProps['Name']}</a>
</ul>
</py:if>
</li>
</ul>
</div>
</body>