Django 消息框架用法



关于消息传递框架,在文档中写道,每条消息都有一个可用于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 为空?还有一个问题。消息呈现给用户后会发生什么情况?它们是否被删除?如果我添加一个新模型,是否会向我显示以前的消息以及新附加的消息?

if 应tags为模板中的alert-{{message.tags}}

消息呈现给用户后会发生什么情况?它们是否被删除?

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

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

messages列表将包含所有当前处于活动状态的邮件。因此,如果以前的消息仍然存在,它也将显示。

最新更新