django shuffle in templates

Dar*_*ech 7 django templates shuffle

作为Django中关键字云功能的一部分,我试图输出一个字符串列表.是否有模板过滤器,允许您在列表中随机播放项目?我认为这很简单,但我在官方文档中找不到任何适用的过滤器.

chr*_*e31 13

制作你的产品很简单.

# app/templatetags/shuffle.py
import random
from django import template
register = template.Library()

@register.filter
def shuffle(arg):
    tmp = list(arg)[:]
    random.shuffle(tmp)
    return tmp
Run Code Online (Sandbox Code Playgroud)

然后在你的模板中:

{% load shuffle %}
<ul>
{% for item in list|shuffle %}
    <li>{{ item }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)