如何在django-notifications-hq中隐藏0个通知计数

问题描述

我很想尝试在django-notifications-hq中将通知计数设为0时将其隐藏 我尝试了下面的方法,但是它不能定期更新并正确显示数字。

 {% live_notify_badge as nc %}
                      {% if nc > 0|add:0 %}
                      <span class="badge-notifications badge badge-pill badge-danger" style="float:right;margin-bottom:-3px;margin-top: -2px !important; margin-left: 10px !important; font-size: 0.6rem;">
                      {% live_notify_badge %}</span> 
                      {% endif %} 

解决方法

nc不是通知数。它会生成一些HTML,这些HTML将通过Javascript调用来获取通知数量。

您可以通过以下方式获取模板中未读通知的数量:

{{ user.notifications.unread.count }}

因此,我们可以检查是否存在未读的通知,并使用它来呈现{% live_notify_badge %}

{% if user.notifications.unread.exists %}
    <span class="badge-notifications badge badge-pill badge-danger" style="float:right;margin-bottom:-3px;margin-top: -2px !important; margin-left:10px !important; font-size: 0.6rem;">
        {% live_notify_badge %}
    </span> 
{% endif %}

但是请注意,这将在服务器端呈现,这意味着当用户获取页面且没有通知时,它将不会显示徽章。但是,如果以后有通知,这些通知将不会呈现。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...