【问题标题】:Django messages framework usageDjango 消息框架使用
【发布时间】:2013-11-11 12:21:38
【问题描述】:

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

【问题讨论】:

    标签: css django django-messages


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 一个额外的问题:这是我正在检查的正确异常吗?我怎样才能让我的 Db 失败:) 来测试它?我还不熟悉单元测试。
    • @Apostolos,停止 db 服务,但时间需要正确。可能您可以添加其他错误,例如数据库完整性错误(添加具有现有主键或其他唯一字段的对象)等。
    • 感谢您的回答。最后一个问题。我可以让所有客户都能访问我的消息或某些消息吗?或者可能是连接特定用户的客户?(如 fb notif 等)
    • @Apostolos,可能是通过在消息中添加额外的属性。
    • 再次感谢 rohan....任何可用的教程?或者我应该如何自己寻找它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2012-07-28
    相关资源
    最近更新 更多