Python 如何在jinja2中选择字典中的一些键进行迭代

Python 如何在jinja2中选择字典中的一些键进行迭代,python,jinja2,Python,Jinja2,我有一本这样的字典 [ { 'a' : "Aa1", 'b' : "Bb1", 'c' : "Cc1" } , { 'a' : "Aa2", 'b' : "Bb2", 'c' : "Cc2" 'd' :"Dd2" } ] { % for dict in dictionaries % } {%- for key,value in dict.items()%} {%- if key|rejectattr("a", "b"

我有一本这样的字典

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

  { 'a' : "Aa2",
    'b' : "Bb2",
    'c' : "Cc2"
    'd' :"Dd2"
 } ]
{ % for dict in dictionaries % }
     {%- for key,value in dict.items()%}
        {%- if key|rejectattr("a", "b") %}
          {{key}} = {{value }}
        {%- endif%}    
    {% endfor %}
{% endfor % }
我想在遍历这个字典数组时拒绝一些键。所以我想要的结果是

拒绝按键“a”和“b”

我怎样才能做到呢

我试过这样的东西

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

  { 'a' : "Aa2",
    'b' : "Bb2",
    'c' : "Cc2"
    'd' :"Dd2"
 } ]
{ % for dict in dictionaries % }
     {%- for key,value in dict.items()%}
        {%- if key|rejectattr("a", "b") %}
          {{key}} = {{value }}
        {%- endif%}    
    {% endfor %}
{% endfor % }

然而,这不起作用。任何建议。

您使用
rejectattr
过滤器实际要说的是“键的值。a不能是
'b'
”,这不是您想要做的。由于您直接使用该键,因此它只是一个
str
,没有任何此类属性

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

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

只要
{%如果键不在['a','b']%}