python - Django 模板 : Is there a way to query a specific object based on its property (instead of iterating over all)?

标签 python django templates

假设我有一个对象“用户”作为上下文进入,我知道它包含许多用户对象。现在,在我的模板中,我想访问一个我知 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/

相关文章:

python - 此 TensorFlow 二进制文件使用 Intel(R) MKL-DNN 进行了优化,可在性能关键的情况下使用以下 CPU 指令

python - 分别为 Pandas 列设置样式

python - puffadder( Lombok 的 Python 替代品)没有维护?

css - 我的 Django 元素没有加载 Bootstrap 字形

django - 如何将 Chrome 扩展添加到 django-cors-headers 白名单?

python - 在没有numpy polyfit的情况下在python中拟合二次函数

python - django 中的 contrib 代表什么?为什么?

c++ - (C++) 模板化 Matrix 类中的矩阵乘法

c++ - 在 C++ 中使用模板 - 从方法返回值

c++ - 如何显式实例化模板函数?