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

发布于 2024-10-20 21:11:43 字数 361 浏览 3 评论 0原文

我正在尝试创建一个自定义 Jinja 变量,该变量将在每次使用时循环遍历值列表。这与 loop.cycle('a','b','c') 类似,只是我不在 for 循环内。

示例:

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

输出:

val1  
val2  
val3  
val1  

I'm trying to create a custom Jinja variable that will cycle through a list of values each time it is used. This is similar to loop.cycle('a','b','c'), except that I'm not inside a for loop.

Example:

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

Output:

val1  
val2  
val3  
val1  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷弦 2024-10-27 21:11:43

文档所示。

Jinja2,自 v2.1 起,允许循环无绑定循环,如 你的例子,你会这样做:

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

还有 cycler.reset,和cycler.current

Jinja2, since v2.1, allows loop unbound cycling, as the documentation shows.

In your example, you would do something like this:

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

There's also cycler.reset, and cycler.current.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文