在烧瓶中的数组中检查None(jinja模板)

时间:2020-01-09 14:06:41

标签: flask jinja2

我有一个奇怪的情况,即数组的值为None:

Public Sub Start() Dim Emps As New Employees Dim Department As New Collection 'of Employees Emps.AddRange Department Dim AnotherDepartment(0) As Variant 'of Employees Emps.AddRange AnotherDepartment Dim NewJoiners As New Employees Emps.AddRange NewJoiners ' This should not work. Dim EmployeeName As String Emps.AddRange EmployeeName End Sub

mongo中数据的json格式为:

'synonyms': [None]

但是当我尝试在python中打印相同内容时,它显示为:

{
    "_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"]
}

如何在'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

但是数组中的None不会引用空值吗?

任何可能的解决方案? TIA

1 个答案:

答案 0 :(得分:1)

您可以在in内使用jinja条件(如 Python 一样)。

from jinja2 import Template

data = {"synonyms": [None], "synonyms2": ['ok']}
tm = Template(
    "None in synonyms: {{ None in data['synonyms'] }}\n"
    "None in synonyms2: {{ None in data['synonyms2'] }}\n"
    "{% if None in data['synonyms'] %}None in synonyms {% endif %}\n"
    "{% if None in data['synonyms2'] %}None in synonyms2 {% endif %}\n"
)
msg = tm.render(data=data)
print(msg)

结果:

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

希望这会有所帮助。