Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2013 19:44:34

fobiasmog
Зарегистрирован: 2013-11-11
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

Всем привет.
Проблема вот в чём: во вьюхе перед редиректом делаю сообщение:

messages.error(request, 'incorrect')

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

Но сравнения не происходит, и никаких ошибок. В чём проблема?

Отредактировано fobiasmog (Дек. 4, 2013 19:45:08)

Офлайн

#2 Дек. 4, 2013 19:56:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

А без сравнения?

{% for message in messages %}
{{ message }}
{% endfor %}
Что Вам этот код выведет в шаблон?



Офлайн

#3 Дек. 4, 2013 20:24:31

fobiasmog
Зарегистрирован: 2013-11-11
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

FishHook
То, что в сообщении передавал: incorrect

И по

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

И JS нормально видит сообщение
if ('{{ message }}' === 'incorrect')

Отредактировано fobiasmog (Дек. 4, 2013 22:58:15)

Офлайн

#4 Дек. 5, 2013 08:14:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

Больше кода покажите, что там после {% if %} у Вас?



Офлайн

#5 Дек. 6, 2013 16:52:57

fobiasmog
Зарегистрирован: 2013-11-11
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

FishHook

                        {% if messages %}
                            {% for message in messages %}
                                {% if message == 'incorrect' %}
                                    <div class="alert alert-danger" style="margin-top:10px;">Неверный адрес почты или пароль {{message}}</div>
                                {% endif %}
                            {% endfor %}
                        {% endif %}

Офлайн

#6 Дек. 6, 2013 22:09:38

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2763
Репутация: +  185  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

С чего вы взяли что message это строка? По идеи должно быть что-то вроде этого:

{% if message.message == 'incorrect' %}
ИЛИ
{% if message.__unicode__ == 'incorrect' %}



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Дек. 8, 2013 06:28:12

fobiasmog
Зарегистрирован: 2013-11-11
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

Rodegast
Просто тут это никак не раскрывалось https://docs.djangoproject.com/en/1.5/ref/contrib/messages/#displaying-messages

Прервый метод сработал, спасибо. Только вот почему message.message не могу понять.

Офлайн

#8 Дек. 8, 2013 07:58:02

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с messages в шаблоне.

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"



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version