2011-11-30 14 views
7

Le basi di ciò che sto cercando di fare è utilizzare il filtro "casuale" per scegliere un elemento casuale dalla mia lista, ma poi voglio usare quell'elemento scelto a caso in più posizioni.Risultato archivio del filtro Jinja

Come si imposta il risultato di un filtro su una variabile che è possibile utilizzare in più posizioni.

Se chiamo più volte il filtro "casuale" ci sono poche possibilità che siano uguali.

Essenzialmente quello che voglio fare:

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

ovviamente questo non funziona.

risposta

10

utilizzare il filtro senza {{}} delimitatori.

{% set image = images|random %} 

esercizi Jinja globals e filters in due differenti namespace (dizionari), che impedisce loro di essere utilizzati in modo intercambiabile.

2

| in Jinja passa semplicemente la variabile nella funzione. È sufficiente chiamare la funzione e dovrebbe funzionare:

{% set image = random(images) %}