[英]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.