2011-11-30 9 views
7

Lo básico de lo que trato de hacer es usar el filtro "aleatorio" para elegir un elemento aleatorio de mi lista, pero luego quiero usar ese elemento elegido al azar en varias ubicaciones.Almacenar el resultado del filtro Jinja

Cómo configuro el resultado de un filtro en una variable que puedo usar en varias ubicaciones.

Si llamo al filtro 'aleatorio' varias veces, hay pocas posibilidades de que sean iguales.

Esencialmente lo que quiero hacer:

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

obviamente, esto no funciona.

Respuesta

10

utilizar el filtro sin {{}} delimitadores.

{% set image = images|random %} 

tiendas Jinja globals y filters en dos espacios de nombres diferentes (diccionarios), que les impide ser utilizado de manera intercambiable.

2

| en Jinja simplemente pasa la variable a la función. Basta con llamar a la función y debería funcionar:

{% set image = random(images) %} 
Cuestiones relacionadas