Flask

【Flask】Jinja2 でループのインデックスを取得する方法

この記事は約2分で読めます。

 

FlaskのテンプレートエンジンのJinja2でenumerate()みたいな感じでループのインデックスを取得する方法を紹介します

 

for index, item in enumerate(items):
  print '%d %s' % (index, item)

 

調べてみた感じJinja2にはループの中で使用できる「loop」という特別な変数が用意されているみたいあでこれを利用することでループのインデックスを取得できます。

 

公式ドキュメント

Jinja2 Documentation for

 

ループのインデックスを取得するサンプルコード

 

「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>

 

関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する

関連記事:Flaskで変数を文字列ではなくHTMLのタグとして読み込む方法

 

コメント

タイトルとURLをコピーしました