Добрый день, друзья!
Третий день ломаю голову - не могу понять. Подскажите, кто сможет:
Eсли message состоит из чисел, то приходит тип number, а если строковая, то тип undefined.
Соответственно в этом коде (файл form.html):
{% if messages %}
{% for message in messages %}
{% if 'cont' in message.tags %}
<script type="text/javascript">
tmp = {{ message }};
document.getElementById('content').value = tmp;
</script>
{% endif %}
{% endfor %}
{% endif %}
содержимое переменной tmp не записывается в поле input id="content", я так понимаю из-за ошибке в типе. Если строка - не запишется, если число - всё работает.
Приведение tmp или {{ message }} к строковому типу эффекта не дают.
Если tmp определить принудительно (tmp = 'просто текст';) поле заполняется.
Значение в {{ message }} имеется и оно правильное - банальный <br>{{ message }}<br> выводит сообщение на форму независимо от того, строка это или число.
Передается значение из views.py такой строкой:
messages.info(request, form.cleaned_data['content'], extra_tags='cont')
В чём секрет этой напасти?!
Спасибо!
Updated 1 April 2021, 6:28 by ktest000.