python - django 模板只显示不同的值

标签 python django templates

假设我有一个查询:

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/

相关文章:

python - 如何在 Django 的运行服务器中进行事后调试?

python - 如何对 Pyramid 中的 request.json_body 进行单元测试?

python - Django Rest Framework Serializer 返回 UItextfield 而不是实际值

django - 在管理员中动态添加新的表单字段

python - Django 中两个不直接相关的模型的内连接

django - 覆盖 Django 中的 brabeion 模板路径

C++:创建一个模板函数,只允许继承特定接口(interface)的类?

python - 将图像清理成只有黑色

python - 使用 PyCharm 用 turtle (python)绘图

C++ 函数模板需要 & 作为数组参数