flask - 计算列表中匹配条件的项目数,jinja/flask
问题描述
我正在使用 Flask 将字典列表传递到我的 HTML 中
data = [
{'name':'val1', 'status':0},
{'name':'val2', 'status':1},
{'name':'val3', 'status':1}
]
它也可以通过变量在 HTML 中data
访问data=data
我可以计算data
HTML 中的项目数
{{ data|length }} # 3
但我想要一段具有特定状态的项目。即1
{{ length of data where item ['status] == 1 }}
# should out put length of 2
这个问题不是重复的。这个问题专门询问如何根据条件进行过滤。另一个答案仅基于布尔值进行过滤。
如果我的“状态”键可以保存任何'apple', 10, 'xyz'
我希望能够过滤基数的值,那么这不是真假。
回答
FLASK
database = [
{'name':'val1', 'status':'abc'},
{'name':'val2', 'status':'xyz'},
{'name':'val3', 'status':'xyz'}
]
HTML
{{ database|selectattr('status', 'equalto', 'xyz') | list | length}}
# 2
解决方案
我认为,这将解决问题,遍历数据并为其维护计数值;
{% for row in data %}
{% if (row.get('status')|int = 1) %}
{% set counter = counter + 1 %}
{% endif %}
{% endfor %}
推荐阅读
- java - 具有特定字符的 Java pad 字符串
- django - Django Recaptcha 未能通过表单验证
- json - 如何在 webflux 的请求正文中获取 json 对象?
- reactjs - 连接不起作用,并且没有在 react-redux 中重新渲染
- javascript - 在嵌套组件中使用 react-router-dom 在主要内容组件之间导航
- java - 我有一个输入具有三个不同的值。如何从单个扫描仪中扫描三个值
- javascript - 如何使此代码每 5 分钟自动运行一次,以使视频标题与观看次数相匹配,即使我关闭计算机?
- python - 如何使用 python pandas 删除列索引?
- javascript - GLTF 加载警告---定时器 GLTF 加载器已经存在
- rest - 使用 HTTP 请求来触发逻辑而不是期望响应是不好的做法吗?