2011-11-30 81 views
7

我想要做的事情的基本原理是使用「隨機」過濾器從我的列表中選擇一個隨機項目,但隨後我想在多個位置使用隨機選擇的項目。Jinja過濾器的存儲結果

如何將過濾器的結果設置爲可在多個位置使用的變量。

如果我多次調用'隨機'過濾器,他們幾乎沒有機會相同。

從本質上講就是我想做的事:

{% set image = {{ images | random }} %} 

顯然這行不通。

回答

10

使用過濾器,而不{{}}分隔符。

{% set image = images|random %} 

金賈存儲在兩個不同的命名空間(字典),其防止它們被可互換地使用globalsfilters

2

|在Jinja只是將該變量傳遞給函數。簡單地調用函數,它應該工作:

{% set image = random(images) %}