如何在模板中包含随机列表元素

时间:2014-10-15 15:13:53

标签: django django-templates

我有一个变量questionchoice = ['one', 'two', 'three'],并希望它的随机元素包含在模板中。

我试过了{% include 'questions/question-'{{ questionchoice|random }}'.html' %},但它没有用。

请帮忙吗?

编辑:

我修改了我的变量以包含整个链接:

questionchoice = ['questions/question-one.html', 'questions/question-two.html', 'questions/question-three.html']

之后我在我的模板中使用了这个:

{% with questionchoice|random as question %}
    {% include question %}
{% endwith %}

1 个答案:

答案 0 :(得分:2)

您不能对包含模板标记的参数使用模板过滤器。您可以将该逻辑移动到view方法中:

views.py

import random
def view(request):
    return render(request, {
        "question_template": "questions/question-{}.html".format(random.randint(1,3)),
    })

模板

{% include question_template %}