Skip to main content
 首页 » 编程设计

python之创建类似于 loop.cycle() 的 Jinja 变量/过滤器

2025年05月04日18mate10pro

我正在尝试创建一个自定义 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 起,允许 loop unbound 循环,as the documentation shows.

在你的例子中,你会做这样的事情:

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

还有 cycler.reset , 和 cycler.current .