【发布时间】:2016-05-17 12:08:12
【问题描述】:
我在 Jinja 遇到了一个奇怪的问题,我有一个列表 endpoints,其中包含每个 endpoint 的字典。在每个字典中,都有一个键 tags,它是一个列表。 tags 中的每个项目本身就是一个字典,其中键 value 给出了标签的标签。 endpoint 可能有类似的标签。
endpoints 对象的抽象表示示例可以是:
[ {"tags":[{"value":"car"},{"value":"place"}]} , {"tags":[{"value":"van"},{"value":"place"}]} ]
我想要的是在 div 中简单地显示唯一标签。这很简单,保留所有显示标签的列表,并在获取标签后检查它是否已经在列表中,如果没有显示并将其添加到列表中。奇怪的是,它不起作用。
代码是:
{% set tagValues = [] %}
{% for endpoint in endpoints %}
{% for tag in endpoint["tags"]%}
{% set tagValue = tag["tag"]["value"] %}
{% if tagValue not in tagValues %}
{% set tagValues = tagValues + [tagValue] %}
<span >{{ tagValue }}</span></a>
{% endif %}
{% endfor %}
{% endfor %}
它不起作用,例如,对于上面的 enpoints 列表,我得到以下输出:
car place van place
代码有问题吗?
【问题讨论】:
标签: python dictionary jinja2