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