0

关于消息传递框架,在文档中写道,每条消息都有一个 message.tag 可用于 css 的属性。所以我的代码看起来像这样

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 是空的?还有一个问题。消息呈现给用户后会发生什么?他们被删除了吗?如果我添加一个新模型,是否会向我显示以前的消息以及新附加的消息?

4

1 回答 1

2

如果应该tagsalert-{{message.tags}}模板中。

消息呈现给用户后会发生什么?他们被删除了吗?

是的,一旦从存储中迭代(或通过模板显示)它们就会被清除。参考消息到期。

如果我添加一个新模型,是否会向我显示以前的消息以及新附加的消息?

messages列表将包含所有当前活动的消息。因此,如果之前的消息仍然存在,它也会显示出来。

于 2013-11-11T12:29:00.320 回答