在jinja2中,如何在字典中选择一些键

2024-05-19 13:33:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本这样的字典

[ { 'a' : "Aa1",
    'b' : "Bb1",
    'c' : "Cc1"
  } ,

  { 'a' : "Aa2",
    'b' : "Bb2",
    'c' : "Cc2"
    'd' :"Dd2"
 } ]

我想在遍历这个字典数组时拒绝一些键。所以我想要的结果是

拒绝键“a”和“b”

^{pr2}$

我怎么才能做到呢

我试过这种方法

{ % for dict in dictionaries % }
     {%- for key,value in dict.items()%}
        {%- if key|rejectattr("a", "b") %}
          {{key}} = {{value }}
        {%- endif%}    
    {% endfor %}
{% endfor % }

但这并不奏效。有什么建议吗。在


Tags: keyinfor字典value数组dictbb1
1条回答
网友
1楼 · 发布于 2024-05-19 13:33:35

您实际使用rejectattr过滤器所说的是“key.a的值不能是{}”,这不是您要做的。因为您直接使用密钥,所以它只是一个str,并且没有任何这样的属性。在

也许可以尝试使用equalto作为测试,reject作为主过滤器:

{% if key|reject('equalto', 'a')|reject('equalto', 'b') %}

相关问题 更多 >