我正在使用Django的消息框架来指示成功的操作和失败的操作。
如何排除帐户登录和退出邮件?目前,登录后登陆页面会显示
Successfully signed in as 'username'
。我不希望显示此消息,但应显示所有其他成功消息。我尝试的内容如下所示。我尝试使用逻辑来查找消息中是否包含单词"signed"
。如果是,请不要显示它。然而,这不起作用。
{% if messages %}
<div class="db-section">
<ul class="messages">
{% for message in messages %}
{% if "signed" in message %}
# Don't display anything
{% else %}
<div class="alert alert-error">
<strong style="color:{% if 'success' in message.tags %}green{% else %} red {% endif %};padding-bottom:10px;">{{ message }}</strong>
</div>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
有人可能解释为什么上面的代码仍然显示甚至包含"signed"
的邮件吗?
答案 0 :(得分:3)
使用safe
过滤器将message
对象属性转换为实际字符串并进行比较
--- Your code ---
{% if "signed" in message|safe %}
# Don't display anything
{% else %}
--- Your remaining code ---