同じ値を再利用し、この方法:ランダムフィルタは、私はJinja2の中でランダムにリストから値を拾うしようとしている毎回
{{ ['#EDD7C9', '#EDD7C9', '#EEE'] | random }}
それはランダム要素を選択するが、それはそれをすべての次を再利用します時間。私がテンプレート内の何かを変更すると、再び別の番号が返されます。
しかし、私は範囲を使用する場合不気味、それだけで正常に動作します:
{{ range(1,100) |random }}
私は自分のフィルタを作成することなく、固定リストからランダムにアイテムを選ぶことができる方法の任意のアイデアを?
{% for i in range(5) %}
{{ ['#EDD7C9', '#EDD7C9', '#EEE'] | random }}
{{ range(1,100) | random }} <br/>
{% endfor %}
出力:
#EEE 8
#EEE 61
#EEE 58
#EEE 64
ちょうどより完全な例を追加します
#EEE 76
ご協力いただきましてありがとうございます。 ありがとう:)
ブラウザがページをキャッシュするだけではないことは確かですか? 'ランダム'はスズについて言うことをしますが、あなたの結果はまだ他の場所にキャッシュされている可能性があります。 –
しかし、範囲を使ってもうまくいかないでしょうか?そして私はforループの中で使っているので、少なくともループの中では異なる値を取るべきです。 – Earthling
あなたが使った場所によって異なります。この行動を検証するためにここで[MCVE]をあまり作成していませんでした。しかし、私は「ランダム」との問題は一度もありませんでした。 –