随机化 jinja 2 中的列表元素
Randomize elements of a list in jinja 2
是否可以在 jinja 2 中对列表进行随机排序?
给定一个像 (1, 2, 3) 这样的列表,每个得到不同的结果 运行 比如:
(3, 2, 1)
(3, 1, 2)
.....
没有可用的 shuffle 过滤器,但创建一个很容易:
import random
def filter_shuffle(seq):
try:
result = list(seq)
random.shuffle(result)
return result
except:
return seq
然后你 register as a custom filter:
environment.filters['shuffle'] = filter_shuffle
并将其用作过滤器:
{% for elem in some_sequence|shuffle %}
{{ elem }}
{% endfor %}
或者,在将列表传递给模板之前打乱列表。
import random
@app.template_filter('shuffle')
def filter_shuffle(seq):
try:
result = list(seq)
random.shuffle(result)
return result
except:
return seq
然后在模板中
{% for option in list|shuffle %}
是否可以在 jinja 2 中对列表进行随机排序?
给定一个像 (1, 2, 3) 这样的列表,每个得到不同的结果 运行 比如:
(3, 2, 1)
(3, 1, 2)
.....
没有可用的 shuffle 过滤器,但创建一个很容易:
import random
def filter_shuffle(seq):
try:
result = list(seq)
random.shuffle(result)
return result
except:
return seq
然后你 register as a custom filter:
environment.filters['shuffle'] = filter_shuffle
并将其用作过滤器:
{% for elem in some_sequence|shuffle %}
{{ elem }}
{% endfor %}
或者,在将列表传递给模板之前打乱列表。
import random
@app.template_filter('shuffle')
def filter_shuffle(seq):
try:
result = list(seq)
random.shuffle(result)
return result
except:
return seq
然后在模板中
{% for option in list|shuffle %}