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

Django HTML模板调用Canva模型month属性做if判断结果异常如何解决

问题原因

  • Django模板语法中,未被引号包裹的字符会被默认识别为上下文变量而非字符串常量。你代码里直接写的JUIN没有加引号,模板会尝试从视图传递的上下文里获取名为JUIN的变量,如果你没有传递这个变量,它的默认值为空,自然和canva.month的JUNE值不匹配。
  • 拼写不一致:JUIN是法语的“六月”,而你实际存储的month值是英文的JUNE,二者本身字符内容就不同,就算加了引号也不会相等。

修复方案

  1. 如果你要判断的是等于英文六月:给字符串加引号,且拼写和存储值保持一致,修改判断逻辑为:
{% if "JUNE" == canva.month %}
hello
{% else %}
goodbye
{% endif %}
  1. 如果你原本就是要判断法语六月JUIN:先确认存储的month字段值是否为JUIN,如果存储的是JUNE,要么修改字段存储的值为法语拼写,要么调整判断条件的拼写为实际存储值即可。
  2. 额外兼容方案:如果不确定大小写是否一致,可以用Django模板的lower过滤器统一转小写后判断,避免大小写差异导致的匹配失败:
{% if "june"|lower == canva.month|lower %}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:18:03