5

Django テンプレートで 2 列の HTML テーブルとしてレンダリングする順序付きリストがあります。表では、次のように、最初の (n+1)/2 要素が最初の列にあり、残りが 2 列目にあるように、要素を出力する必要があります。

<table>
  <tr>
     <td>Elem 1</td>
     <td>Elem 4</td>
  </tr>
  <tr>
    <td>Elem 2</td>
    <td>Elem 5</td>
  </tr>
  <tr>
    <td>Elem 3</td>
    <td></td>
  </tr>
</table>

私の要素が としてコンテキストにあると仮定すると{{ elems }}、Django テンプレートでこれを合理的に達成するにはどうすればよいでしょうか?

4

1 に答える 1

11

このレシピを確認してください。あなたはそれを修正しなければならないかもしれません、しかしあなたは考えを得るでしょう。

これを使用すると、テンプレートで次のようになります。

{% for row in elems|columns:2 %}
 <tr>
    {% for item in row %}
        <td>{{ item }}</td>
    {% endfor %}
 </tr>
{% endfor %}
于 2012-08-08T12:43:06.027 に答える