【发布时间】:2017-08-13 07:57:33
【问题描述】:
我正在尝试将一个列表的元素复制到另一个列表中,并且我正在使用这段代码来做到这一点:
{% 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 模板的新手。
【问题讨论】:
-
见custom jinja2 filters,而jinja2过滤器使用类似函数的语法,
lookup:i应该是lookup(i) -
lookup(i) 不起作用。
-
您首先需要正确实现,看来您正在像 django 模板一样实现它并期望它的行为像 jinja2。按照我给你的链接并正确实施它。
标签: django python-2.7 jinja2