Почему сообщения django могут не иметь тегов? - PullRequest
3 голосов
/ 06 июля 2011

Я пытаюсь отключить добавление / изменение для определенных моделей, и я делаю это, переопределяя метод add_view в объекте admin.При этом я хочу добавить сообщение пользователю, а затем перенаправить.Я добавляю сообщение следующим образом:

    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 ]

1 голос
/ 29 марта 2012

У меня только что был вчера опыт, когда я столкнулся с точно такой же вещью.Что решило это для меня, хотите верьте, хотите нет, это перезапустить веб-сервис.Я работал локально с ./manage.py runserver, поэтому не уверен, был ли это ваш сценарий или нет.

Между прочим, я обнаружил другие причудливые странности django, особенно при создании большого количества нового кода, решаемые этим.

1 голос
/ 11 августа 2013

Убедитесь, что в settings.py список MIDDLEWARE_CLASSES содержит

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

В противном случае сообщения Django работают, но только для аутентифицированных пользователей, с испорченными тегами сообщений и, возможно, с другими проблемами.

(Я только что столкнулся с той же проблемой, и добавление этой строки исправило ее.)

0 голосов
/ 23 сентября 2011

Это то, что находится в моем 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> в списке сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...