我面临的问题是,在某些浏览器上我的 Django 消息不会消失。例如,如果创建了新帖子,则侧面会显示一条消息,表明新帖子已成功创建。如果我重新加载页面,该消息不会消失并继续显示,这是为什么?
问题严重到使用侧面一段时间后消息堆积,你只能看到消息 xD ...
有人可以帮忙吗?这只是因为所使用的浏览器吗?
这就是我显示消息的方式:
<div class="messages">
{% if messages %}
{% for message in messages %}
<span><li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li></span>
{% endfor %}
{% endif %}
</div>
提前致谢
请尝试这个
在您的模板中
{% for message in messages %}
{%if "hello" in message.tags %}
<p class="messages alert alert-success" style="text-align: center;"> {{message}} </p>
{% endif %}
{% endfor %}
views.py
messages.warning(request, 'Insert whatever msg you want here.', extra_tags='hello')
希望这可以帮助使用 forloop.last 获取 django 模板中列表中的最后一条消息(忽略 div 类;P):
{% if messages %}
{% for message in messages %}
{% if forloop.last %}
<div class="border border-1 {% if message.level is 40 %} bg-danger border-danger {% elif message.tags %} border-{{message.tags}} bg-{{message.tags}} {% endif %} mb-2 rounded-5">
<small class="text-white">{{ message }}</small>
</div>
{% endif %}
{% endfor %}
{% endif %}