繁体   English   中英

为什么这个简单的django IF语句不起作用?

[英]Why doesn't this simple django IF statement work?

如果我在模板中输出以下内容:

{{ latest_session.chat_room.is_open }}

输出

True

但是当我执行此检查时:

{% if latest_session.chat_room.is_open == 'True' %}
   Online
{% else %}
   Offline
{% endif %}

它输出:

Offline

它不应该在线输出吗?

is_open可能是BooleanField ,因此其python值是布尔值,而不是字符串。 使用{% if latest_session.chat_room.is_open %}进行检查。

True是布尔值,而不是字符串。 请改用{% if latest_session.chat_room.is_open %}

根据《 Django书》

{%if%}标记评估一个变量,并且如果该变量为“ True”(即,它存在,不为空并且不是错误的布尔值),系统将显示{%if%}和{% 万一 %}。

因此,您无法在{%if%}标签内进行比较。 由于is_open可能返回一个布尔值,因此请改用以下内容。

{% if latest_session.chat_room.is_open %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM