我正在尝试直接在我的模板上的对象列表中获取单个随机对象。
这是我想要做的一个例子:
views.py 是这样的:Font.objects.all()
模板文件:
{% for f in Fo.checkbox.all %} #f|random_choice doesn't work here.
<p>{{ f.font_name|random_choice }}</p> #gives me a single random character of each object.
{% endfor %}
上面的示例为我提供了列表中每个对象的单个随机字符,但我正在尝试在对象列表中获取一个随机对象。
这是 templatetag 文件:
@register.filter(name='random_choice')
def random_choice(l):
return random.choice(list(l))
我该怎么做?
答案 0 :(得分:2)
已经内置https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#random
{{ my_list | random }}
如果这是面试,你给出的任何其他答案都不是这个......我讨厌告诉你,但你可能没有给出他们想要的答案......
{{ Fo.checkbox.all | random }} {# print one random value from Fo.checkbox.all #}