使用されるたびに値のリストを循環するカスタムJinja変数を作成しようとしています。これは、ループloop.cycle('a','b','c')
内にいないことを除いて、に似ています。for
例:
list = ['val1','val2','val3']
{{ list|next }}
{{ list|next }}
{{ list|next }}
{{ list|next }}
出力:
val1
val2
val3
val1
ドキュメントに示されているように、Jinja2はv2.1以降、ループのバインドされていないサイクリングを許可します。
あなたの例では、次のようなことをします。
{% set cycling_list = cycler('val1', 'val2', 'val3') %}
{{ cycling_list.next() }}
{{ cycling_list.next() }}
{{ cycling_list.next() }}
Cycler.resetとcycler.currentもあります。