【问题标题】:Django: How can I remove all stored messages?Django:如何删除所有存储的消息?
【发布时间】:2017-01-21 08:16:49
【问题描述】:

我只在一个viewPasswordChangeView)中使用了django message framework

问题是当我访问PasswordChangeView时,此页面显示消息存储中的所有消息,例如Login successed, Logout success等...

这是我的template.html

{% for message in messages %}
    <p {% if message.tags %} class="alert alert-{{ message.tags }} messages"{% endif %}> {{ message }} </p>
{% endfor %}

我想让PasswordChangeView 只显示关于password 的消息,而不是login, logout 之类的东西。

我该怎么做?

【问题讨论】:

  • 如果您没有在其他任何地方显示它们,为什么还要为您的登录/注销视图创建消息?如果您向他们展示他们不会在您访问 PasswordChangeView 的那一刻弹出。
  • @Bono 哦,因为我使用了django-allauth,它会自动显示消息。

标签: django django-messages


【解决方案1】:

一种方法是创建2个空文件templates/account/messages/logged_in.txttemplates/account/messages/logged_out.txt

它基本上会覆盖登录/注销消息。

另一种方式是签入模板,如:

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

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2016-02-25
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    相关资源
    最近更新 更多