假设我有一个对象“用户”作为上下文进入,我知道它包含许多用户对象。现在,在我的模板中,我想访问一个我知 Prop 有特定属性值(假设 id 为 10)的特定用户,然后显示与该用户关联的另一个属性。我知道我能做到:
{% for user in users %}
{% if user.id == 10 %}
{{ user.age }}
{% endif %}
{% endfor %}
我知道我可以在我的 View 中提取该用户并仅传递该一个对象(?),但在这种情况下,拥有所有这些对象是有意义的。
我觉得应该有一种更简单的方法来做到这一点,但我是 Django/模板新手。尝试搜索但不知道如何表达它..
最佳答案
这确实是模板标签的工作
templatetags/my_tags.py
...
@register.filter
def where_id(users,user_id):
return filter(lambda u:u.pk==user_id,users)
...
sometemplate.html
{%load my_tags %}
...
{% for user in users|where_id:10 %}
....
关于python - Django 模板 : Is there a way to query a specific object based on its property (instead of iterating over all)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175455/