如何将对象作为django模板标记的多个参数

时间:2013-01-03 15:26:35

标签: python django django-templates

我有两个lists。将这两个传递给自定义模板标记后,它应该将它们压缩并返回该对象。

有可能吗?如果是这样怎么做?

相应的操作是:

def zip_tag(arg1, arg2):
    return zip(arg1, arg2)

1 个答案:

答案 0 :(得分:1)

正如Joe在评论中所说,我会考虑在视图中压缩列表而不是模板。但是,应该可以使用assignment tag(未经测试的代码)在模板中执行此操作:

@register.assignment_tag
def zip_tag(arg1, arg2):
    return zip(arg1, arg2)

您可以在模板中使用它,如下所示:

{% zip_tag arg1 arg2 as zipped %}
<ul>
{% for x, y in zipped %}
  <li>x, y<li>
{% endfor %}
</ul>