Создание переменных / фильтров Jinja, аналогичных loop.cycle () - PullRequest
1 голос
/ 08 марта 2011

Я пытаюсь создать пользовательскую переменную Jinja, которая будет циклически перебирать список значений при каждом ее использовании. Это похоже на loop.cycle('a','b','c'), за исключением того, что я не в цикле for.

Пример:

list = ['val1','val2','val3']  
{{ list|next }}  
{{ list|next }}  
{{ list|next }}  
{{ list|next }}  

Выход:

val1  
val2  
val3  
val1  

1 Ответ

5 голосов
/ 08 марта 2011

Jinja2, начиная с v2.1, допускает циклический цикл без привязки, , как показано в документации.

В вашем примере вы бы сделали что-то вроде этого:

{% set cycling_list = cycler('val1', 'val2', 'val3') %}
{{ cycling_list.next() }}  
{{ cycling_list.next() }}  
{{ cycling_list.next() }}

Также есть cycler.reset и cycler.current .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...