Django 消息,如何隐藏特定消息

Posted

技术标签:

【中文标题】Django 消息,如何隐藏特定消息【英文标题】:Django Messages, How to Hide Specific Ones 【发布时间】:2017-12-26 18:44:26 【问题描述】:

我正在使用 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" 的消息吗?

【问题讨论】:

您在 html 模板中使用的是 Jinja2 还是 Django 模板语言? 【参考方案1】:

使用@987654321@ 过滤器将message 对象属性转换为实际字符串并进行比较

--- Your code ---
% if "signed" in message|safe % 
  # Don't display anything
% else %
--- Your remaining code ---

【讨论】:

谢谢!正是我想要的!

以上是关于Django 消息,如何隐藏特定消息的主要内容,如果未能解决你的问题,请参考以下文章

如何制作 django 酥脆的表格来隐藏特定的字段?

通过单击按钮显示消息,但我如何通过单击按钮隐藏此消息

如何在django-admin中隐藏特定记录的字段?

如何在 django for 循环中显示/隐藏特定元素

如何在本机反应中隐藏特定屏幕上的底部导航栏?

如何从 Logcat 隐藏 NativeCrypto 消息