关于消息传递框架,在文档中写道,每条消息都有一个可用于css的message.tag属性。所以我的代码看起来像这样
try:
models.save()
message.success(request, "Model successfully saved")
except DatabaseManagementTransaction:
message.error(request, "Model could not be saved")
在我的html模板中
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{message.tag}} alert-dissmissable">
{{message}}
</div>
{%endfor%}
{% endif %}
但是当渲染模板时,我看不到message.tag,而div类看起来像这样
<div class="alert alert- alert-dissmissable">...</div>
所以我必须在设置文件中创建MESSAGE_TAGS才能使用它?为什么message.tag为空?另一个问题。将消息呈现给用户后会发生什么?它们被删除了吗?如果我添加一个新模型,将向我显示之前的消息加上新添加的消息吗?
答案 0 :(得分:2)
如果模板中的tags
为alert-{{message.tags}}
。
将消息呈现给用户后会发生什么?它们被删除了吗?
是的,一旦从存储中迭代(或通过模板显示),它们就会被清除。请参阅message expiry.
如果我添加新模型,将向我显示之前的消息以及新添加的消息吗?
messages
列表将包含所有当前有效的消息。因此,如果之前的消息仍然存在,它也会显示出来。