是否可以连接对象列表的属性值以显示它? 类似的东西:
{{ users|join(', ', username) }}
其中users
是对象,使用getUsername()
方法
我认为join
没有采取额外的论点,但是有没有解决方法来实现类似的东西?我无法使用__toString()
函数,因为它代表了其他内容......
答案 0 :(得分:7)
你可以使用..
{% set usernames = [] %}
{% for user in users %}
{% set usernames = usernames|merge([user.username]) %}
{% endfor %}
{{ usernames|join(', ') }}
虽然不是最漂亮的。
您可以随时制作自定义树枝滤镜。
答案 1 :(得分:6)
或仅与一个forloop具有相同的结果
arraylist = [{"x":1, "y":2}, {"x":3, "y":2}, {"x":5, "y":2}, {"x":33, "y":2}, {"x":1, "y":8}]
arraylist = map(lambda d: dict(filter(lambda (k,v): k != "y", d.iteritems())), arraylist)
答案 2 :(得分:3)
您可以使用map()过滤器…并将所有内容合而为一:
{{ users|map(u => u.username)|join(', ') }}
答案 3 :(得分:0)
{% for user in users %}
{{ user.username ~ (not loop.last ? ', ') }}
{% endfor %}