【发布时间】:2020-03-01 10:19:05
【问题描述】:
数据:
[
{
"name": "fixed",
"addr": "172.16.1.100",
"active": "Yes"
},
{
"name": "floating",
"addr": "10.90.80.10",
"active": "No"
}
]
我正在尝试过滤 jinja2 模板中的这些数据和过滤结果中的值。
{{ data|selectattr("name", "equalto", "floating")}}
这给了我
{
"name": "floating",
"addr": "10.90.80.10",
"active": "No"
}
我想从此结果中获取活动状态。
我试过{{ data|selectattr("name", "equalto", "floating")|attr("active")}},它返回为空白。
这样做的正确方法是什么?在应用 jinja 过滤器“|”后访问属性
注意:我刚刚在下面尝试过,它可以工作。问题是当我应用过滤器然后我尝试访问一个属性时。使用 attr 方法。
This works
{{ data[0]['active'] }}
This doesnt
{{ data|first|attr('active') }}
【问题讨论】:
-
addr属性值后面缺少逗号。 -
更新了问题。以上只是样本数据。所以问题不在于数据。
标签: python django flask jinja2