Flask 在烧瓶中的阵列中检查无(jinja模板)

Flask 在烧瓶中的阵列中检查无(jinja模板),flask,jinja2,Flask,Jinja2,我遇到了一个奇怪的情况,数组的值为None: “同义词”:[无] mongo中数据的json格式如下: { "_id": { "$oid": "5e0983a63bcf0dab51f32a9d" }, "word": "vulgarizer", "wordset_id": "c0c349060a", "labels": [{ "name": "American", "is_dialect": true

我遇到了一个奇怪的情况,数组的值为None:

“同义词”:[无]

mongo中数据的json格式如下:

{
    "_id": {
        "$oid": "5e0983a63bcf0dab51f32a9d"
    },
    "word": "vulgarizer",
    "wordset_id": "c0c349060a",
    "labels": [{
        "name": "American",
        "is_dialect": true
    }],
    "meanings": [{
        "id": "3cb39b55e5",
        "def": "someone who makes attractive to the general public",
        "speech_part": "noun",
        "synonyms": ["populariser"]
    }, {
        "id": "865bfdea0b",
        "def": "someone who makes something vulgar",
        "speech_part": "noun",
        "synonyms": [null]
    }],
    "editors": ["lefurjah"],
    "contributors": ["luxfactaest", "msingle", "bryanedu"]
}
但当我尝试用python打印时,它显示为:

'meanings': [{
    'id': '3cb39b55e5',
    'def': 'someone who makes attractive to the general public',
    'speech_part': 'noun',
    'synonyms': ['populariser']
}, {
    'id': '865bfdea0b',
    'def': 'someone who makes something vulgar',
    'speech_part': 'noun',
    'synonyms': [None]
}]
如果条件为:

我试过:

{% if meaning['synonyms'] is defined and meaning['synonyms']|length > 0 %}
    do something-- if condition matches
但是数组中的None不引用空值


有什么可能的解决办法吗?TIA

您可以在
jinja
内部的
条件中使用
(如Python中)

结果:

None in synonyms: True
None in synonyms2: False
None in synonyms 

希望这有帮助。

理想情况下,如果没有同义词,则列表应为空,而不是
[None]
我已更新了Q中的代码,请查看中的数据db@Codenewbie当
同义词
包含超过1个元素(
[无,'Codenewbie']
)时应该是什么?然后我尝试了如果它是'string',然后做些什么…是的,这有助于我猜测,感谢sirI的例子,这是一个完美的解决方案,供其他人参考,这里是从@Danila Ganchar中挖掘出的我的Q的精确解决方案----{%如果没有意义['synonyms']%}
None in synonyms: True
None in synonyms2: False
None in synonyms