Django消息框架用法

时间:2013-11-11 12:21:38

标签: css django django-messages

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

1 个答案:

答案 0 :(得分:2)

如果模板中的tagsalert-{{message.tags}}

  

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

是的,一旦从存储中迭代(或通过模板显示),它们就会被清除。请参阅message expiry.

  

如果我添加新模型,将向我显示之前的消息以及新添加的消息吗?

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