存储Jinja过滤器的结果

RHo*_*ter 7 set jinja2

我尝试做的基础是使用'随机'过滤器从我的列表中选择一个随机项目,但后来我想在多个位置使用随机选择的项目.

如何将过滤器的结果设置为可在多个位置使用的变量.

如果我多次调用"随机"过滤器,那么它们几乎没有机会相同.

基本上我想做的事情:

{% set image = {{ images | random }} %}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用.

Gar*_*ett 10

使用没有{{ }}分隔符的过滤器.

{% set image = images|random %}
Run Code Online (Sandbox Code Playgroud)

Jinja将全局变量过滤器存储在两个不同的名称空间(字典)中,这可以防止它们被互换使用.