我正在尝试将一个列表的元素复制到另一个列表,我正在使用这段代码来执行此操作:
{% 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模板的新手。
答案 0 :(得分:0)
您的代码中的问题是您尝试使用Django模板中不允许的参数调用方法append
。您应该使用您需要的逻辑编写自己的标记。例如:
list2|copy
答案 1 :(得分:0)
你可以用这个简单的lambda过滤:
list1 + filter(lambda x: x if x not in list1 else None, range(2,7))