假设我有一个查询:
cities = City.objects.all()
在我的模板中我做了:
{% for city in cities %}
{{city.friend_name}}
<a href="{% url "my_url" city.friend_name.id %}" class="btn btn-primary">View Detail</a>
{% endfor %}
它给了我 4 个 friend 的名字,id 是 alex 1、matt 2、mack 3、mack 3。但是这里重复了 mack。我只想要麦克一次。如果重复这些值,我希望它只打印一次。
我如何在模板中执行此操作。我的意思是有没有像 {{city.friend_name|distinct}}
或者其他的东西
我不想要独一无二的城市。我希望 friend 在城市中的名字是唯一的。
谢谢
最佳答案
不要使用额外的输入参数,只需使用“ifchanged”django 内置过滤器:https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#ifchanged
{% for city in cities|dictsort:'friend_name' %}
{% ifchanged %}{{city.friend_name}}{% endifchanged %}
<a href="{% url "my_url" city.friend_name.id %}" class="btn btn-primary">View Detail</a>
{% endfor %}
附注我知道它已经 3 岁了,但这对其他人来说是一个有用的答案。
关于python - django 模板只显示不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587385/