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

Django Web应用中Jinja模板if条件判断输出与预期相反问题

问题原因
  • 核心错误是变量类型不匹配:你代码中info.is_verified是布尔类型,实际值为布尔值False,但你的判断条件写的是== "false",这里的"false"是字符串类型,二者在Jinja模板的逻辑判断中完全不相等,因此if分支永远不会触发,只会执行else分支的逻辑,最终输出结果和预期完全相反。
修复方案

你可以任选以下任意一种方式修改判断逻辑即可:

  1. 直接对布尔值取反判断(最简洁的写法,推荐):
{% for info in infos %}
{% if not info.is_verified %}
<h4>Verification status: PENDING</h4>
{% else %}
<h4>Verification status: APPROVED</h4>
{% endif %}
{% endfor %}
  1. 显式和布尔值False做对比:
{% if info.is_verified == False %}

注意:不要给布尔值加引号,加引号后就会被识别为字符串,无法和布尔类型的变量匹配。

内容的提问来源于stack exchange,提问作者Vivek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 23:48:02