引用django中列表中的特定元素

时间:2017-08-13 07:57:33

标签: django python-2.7 jinja2

我正在尝试将一个列表的元素复制到另一个列表,我正在使用这段代码来执行此操作:

{% for i in range(2,7) %}
    {{ list1.append(list2|lookup:i) }}
{% endfor %}

list1是一个空列表。 我还定义了这样的自定义过滤器查找:

@register.filter
def lookup(d, key):
    return d[key]

但是这不起作用,我收到了这个错误:

TemplateSyntaxError at / expected token ',', got ':'.

我做错了什么。我是django和jinja模板的新手。

2 个答案:

答案 0 :(得分:0)

您的代码中的问题是您尝试使用Django模板中不允许的参数调用方法append。您应该使用您需要的逻辑编写自己的标记。例如:

list2|copy

答案 1 :(得分:0)

你可以用这个简单的lambda过滤:

list1 + filter(lambda x: x if x not in list1 else None, range(2,7))