Django模板 - 将变量转换为列表

时间:2016-05-01 11:04:58

标签: django django-templates django-template-filters

我有传递给模板include的数组,例如:

{% include 'chant_box.html' with chants=all_chants only %}

有时候我只有一个单独的呗,从视图中传递它作为数组是没有意义的(除了"实际"原因)。我想将它传递给这个模板,我需要先将它转换为列表,如:

{% include 'chant_box.html' with chants=[single_chant] only %}

但是这不起作用,在list()或make_list过滤器中包装也不起作用(创建字符串表示字母列表)。有没有标准的方法来做到这一点?我知道我可以制作自定义过滤器,但除非必要,否则我真的不想这样做。

1 个答案:

答案 0 :(得分:0)

我最终创建了简单的自定义过滤器:

@register.filter(name='singleton_list')
def image_data(object):
    return [object]

其他很好的方法是使用模板继承来避免条件和太多重复。