Jinja2 でループのインデックスを取得する
「Jinja2 でループのインデックスを取得する | 山本隆の開発日誌」より。
Gogole App Engine用フレームワーク Kay のテンプレートエンジンに使用されている Jinja2 でループのインデックスを取得する方法。
enumerate()みたいなことをJinja2でしたい。
for index, item in enumerate(items):
print '%d %s' % (index, item)
Jinja2にはループの中で使用できる「loop」という特別な変数が用意されている。
「loop.index0」を使用すると、ループのインデックスを取得することができる。
<table>
{% for item in items %}
<tr>
<td>{{ loop.index0 }}</td>
<td>{{ item }}</td>
</tr>{% endfor %}
</table>
「loop.index」は、ループのインデックスが1から始まる。
<table>
{% for item in items %}
<tr>
<td>{{ loop.index }}</td> <td>{{ item }}</td>
</tr>
{% endfor %}
</table>