Jinja2 基于布尔值过滤嵌套字典

Jinja2 filter nested dictionary based on boolean value

我在 Jinja2 中有以下字典变量 users

  "users": {
    "user1": {
      "alive": true,
      "age": 22
    },
    "user2": {
      "alive": false,
      "age": 34
    }
  }

我想用 jinja 过滤器过滤所有活跃的用户,但经过长时间的搜索,我仍然无法在这种嵌套结构上实现这一点。有人可以帮忙吗?

目前,我只是通过 {{ users }} 所有用户,但我想应该可以使用内置的 Jinja 过滤器对其进行过滤。只是想不出它们的正确顺序。

users: {'user1': {'alive': True, 'age': 22}, 'user2': {'alive': False, 'age': 34}}

这个 j2 文件可以完成工作:

{% for user in users if users[user].alive %}
{{ user }}: {{ users[user] }}
{% endfor %}

结果:

user1: {'alive': True, 'age': 22}