标签: set jinja2
我尝试做的基本操作是使用'随机'过滤器从我的列表中选择一个随机项目,但后来我想在多个位置使用随机选择的项目。
如何将过滤器的结果设置为可在多个位置使用的变量。
如果我多次调用'随机'过滤器,那么它们几乎没有相同的可能性。
基本上我想做的事情:
{% set image = {{ images | random }} %}
显然这不起作用。
答案 0 :(得分:10)
使用不带{{ }}分隔符的过滤器。
{{
}}
{% set image = images|random %}
Jinja将 globals 和 filters 存储在两个不同的命名空间(词典)中,这样可以防止它们被互换使用。
答案 1 :(得分:3)
|只是将变量传递给函数。只需调用该函数即可:
|
{% set image = random(images) %}
答案 2 :(得分:0)
它无法循环运行,我使用了以下代码:
{% set result = result | replace('x','y') %}