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

Django中检查message标签含指定字符串始终返回false问题

问题解决:Django消息extra_tags条件判断失效

你的问题出在模板循环里的条件判断写错了变量名——你用了messages.extra_tags,但循环中当前的消息对象是单数的message,不是整个消息列表messages。

修正后的模板代码

{% for message in messages %}
  {{ message.extra_tags }}
  <li>
  {% if 'undo' in message.extra_tags %}
    this has undo in tags
  {% else %}
    {{ message }}
  {% endif %}
  </li>
{% endfor %}

补充说明

  • 你已经确认{{ message.extra_tags }}能正确输出"undo",说明单个消息对象的extra_tags属性是正常的,只是条件判断时误引用了整个消息列表messages的属性(它根本没有这个属性,所以判断永远为false)。
  • 如果用message.tags的话,判断逻辑是一样的,只要把条件里的message.extra_tags换成message.tags即可,因为tags属性包含了默认标签(比如info)和你添加的extra_tags,所以'undo' in message.tags也能生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:54:57