我正在尝试获取聊天中未读消息的数量,它在django shell中运行良好,但是由于无法使用增量运算符,因此我在模板中遇到了问题
在django shell中,我使用了以下代码
# After importing the required models
unread = 0
for message in chat.messages.all():
if message.read != True:
unread += 1
这很好
在模板中,我使用了下面的代码
{%for message in chat.messages.all %}
{% with unread=0 %}
{% if message.read != True %}
{{unread+=1}}
{% endif %}
{% endwith %}
<span class="badge badge-light badge" style="margin-top: 27px; font-size: 2.5em; float:right; border-radius: 1.0rem;">{{unread}}</span>
{%endfor%}
我希望能够像在django shell中一样输出未读消息的数量
答案 0 :(得分:0)
您不需要增加。只需计算视图中的未读消息,然后将其传递到模板即可。您不需要模板中的for循环。
视图
unread = chat.messages.filter(read=False).count()
模板
<span ...>{{ unread }}</span>