Найти - Пользователи
Полная версия: Проблема с messages в шаблоне.
Начало » Django » Проблема с messages в шаблоне.
1
fobiasmog
Всем привет.
Проблема вот в чём: во вьюхе перед редиректом делаю сообщение:
messages.error(request, 'incorrect')

В шаблоне нужно отобразить элемент, если значение сообщения равно incorrect:
{% for message in messages %}
{% if message == 'incorrect' %}

Но сравнения не происходит, и никаких ошибок. В чём проблема?
FishHook
А без сравнения?
{% for message in messages %}
{{ message }}
{% endfor %}
Что Вам этот код выведет в шаблон?
fobiasmog
FishHook
То, что в сообщении передавал: incorrect

И по
{% if message.tags == 'error' %}
работает.

И JS нормально видит сообщение
if ('{{ message }}' === 'incorrect')
FishHook
Больше кода покажите, что там после {% if %} у Вас?
fobiasmog
FishHook
                        {% if messages %}
                            {% for message in messages %}
                                {% if message == 'incorrect' %}
                                    <div class="alert alert-danger" style="margin-top:10px;">Неверный адрес почты или пароль {{message}}</div>
                                {% endif %}
                            {% endfor %}
                        {% endif %}
Rodegast
С чего вы взяли что message это строка? По идеи должно быть что-то вроде этого:
{% if message.message == 'incorrect' %}
ИЛИ
{% if message.__unicode__ == 'incorrect' %}
fobiasmog
Rodegast
Просто тут это никак не раскрывалось https://docs.djangoproject.com/en/1.5/ref/contrib/messages/#displaying-messages

Прервый метод сработал, спасибо. Только вот почему message.message не могу понять.
FishHook
fobiasmog
Только вот почему message.message не могу понять.
class Foo(object):
    def __init__(self):
        self.message = "I`m OK"
    def __repr__(self):
        return self.message
message = Foo()
print message
print message == "I`m OK"
print message.message == "I`m OK"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB