バックエンドで、API からフォルダー構造を取得しています。この構造を再帰的に反復処理して、すべてのフォルダーを取得します。これらはすべて「フラットな」順序付き辞書に格納されます。各フォルダーには、構造、親フォルダーの ID、サブフォルダーの量、およびそれ自体がサブノードであるかどうかを定義するためのいくつかのプロパティが格納されます。
この順序付けられた dict から、Genshi を使用して素敵な階層ビューを作成しようとしていますが、これまでに得た最も遠いものは以下のテンプレートです。これにより、ルート レベルと 1 つ下のレベルの 2 つのレベルのみが作成されます。さらに深いフォルダは、第 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>