如果我在模板中输出以下内容:
{{ latest_session.chat_room.is_open }}
输出
True
但是当我这样做时检查:
{% if latest_session.chat_room.is_open == 'True' %}
Online
{% else %}
Offline
{% endif %}
输出:
Offline
不应该在线输出吗?
答案 0 :(得分:9)
is_open
可能是BooleanField
,因此它的python值是布尔值,而不是字符串。使用{% if latest_session.chat_room.is_open %}
进行检查。
答案 1 :(得分:3)
True
是一个布尔值,而不是一个字符串。请改用{% if latest_session.chat_room.is_open %}
。
答案 2 :(得分:0)
根据Django Book,
{%if%}标记评估变量,如果该变量为“True” (即,它存在,不是空的,并且不是错误的布尔值),. 系统将显示{%if%}和{%endif%}之间的所有内容。
因此,您无法在{%if%}标记内进行比较。但是,由于is_open
可能返回一个布尔值,所以请改用以下内容。
{% if latest_session.chat_room.is_open %}