You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jinja2中如何获取Python的None而非字符串"None"?

解决Jinja2模板中变量不存在时输出Python None而非字符串"None"的问题

当你使用{"value": "{{ example.value }}"}渲染模板时,若example.value不存在,Jinja2会默认输出字符串"None"。要得到Python的None(无引号形式),可以用以下几种方法:

  • 使用default过滤器指定默认值为none
    Jinja2中的none对应Python的None,直接使用default(none)过滤器,会在变量不存在时返回None而非字符串。修改后的模板代码:

    {"value": {{ example.value|default(none) }}}
    

    注意要去掉变量外层的双引号,否则即使返回None也会被包裹成字符串"None"。

  • 通过条件判断显式处理
    用is defined检查变量是否存在,存在则输出变量值,否则直接输出None:

    {"value": {% if example.value is defined %}{{ example.value }}{% else %}None{% endif %} }
    
  • 若需输出JSON格式的null(可选)
    如果你实际需要的是JSON规范中的null(和PythonNone语义等价),可以结合tojson过滤器,确保输出符合JSON格式:

    {"value": {{ example.value|default(none)|tojson }}}
    

内容的提问来源于stack exchange,提问作者Альберт Александров

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:37:34