为什么django消息没有标签?

时间:2011-07-05 22:06:40

标签: django

我正在尝试禁用某些模型的添加/更改,而我是通过覆盖admin对象中的add_view方法来实现的。这样做,我想向用户添加一条消息,然后重定向。我正在这样添加消息:

    messages.add_message(
        request,
        messages.ERROR,
        "Please use the other interface.",
        )

之后:

http://readthedocs.org/docs/django/en/latest/ref/contrib/messages.html

它有效,但它旁边出现了一个绿色的复选标记,好像它是成功的。我检查了模板,它添加了message.tags中的任何类(如果有警告或错误,你得到的图标不同于复选标记)。但是,当我按上述链接的方式(或我发现的任何其他方式)发送消息时,我在消息对象上看不到标记。

任何想法可能出错?

3 个答案:

答案 0 :(得分:1)

我昨天刚刚遇到过一次经历,我遇到了同样的事情。不管你信不信,为我解决的是重启网络服务。我在./manage.py runserver本地工作,所以不确定这是不是你的情景。

顺便说一句,我发现了其他奇怪的django奇怪,特别是在创建大量新代码时,通过这样做解决了。

答案 1 :(得分:1)

确保在settings.py中,MIDDLEWARE_CLASSES列表包含

    'django.contrib.messages.middleware.MessageMiddleware',

否则,Django消息有点工作,但仅适用于经过身份验证的用户,消息标记损坏,以及可能还有其他问题。

(我刚遇到同样的问题,并添加该行修复它。)

答案 2 :(得分:-1)

这就是我的django admin base.css中的内容:

ul.messagelist li {
    font-size: 12px;
    display: block;
    padding: 4px 5px 4px 25px;
    margin: 0 0 3px 0;
    border-bottom: 1px solid #ddd;
    color: #666;
    background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat;
}

这意味着尽管它是类或标签,但它会获得图标。只需在消息列表中添加消息<li>