tremo0880
@tremo0880
Inf.Sec

Как выводить сообщения на страницу динамично, не обновления страницы на flask?

Доброго времени суток.
На данный момент работаю с flask-ом и столкнулся со следующей проблемой.
В моем приложение есть функция которая совершает некоторые подсчеты и выдает результаты на веб странице. На данный момент все работает с помощью flashing messages, но для того чтобы увидеть сообщения нужно перезагрузить страницу. Мне же нужно чтобы все работало динамично. и все сообщения появлялись без перезагрузки страницы.

html render:
{% macro render_field(field) %}
 <dt> {{ field.label }}
 <dd> {{ field(**kwargs)|safe }}
 {% if field.errors %}
        <ul class=errors>
        {% for error in field.errors %}
                <li>{{ error }}</li>
        {% endfor %}
        </ul>
 {% endif %}
 </dd>
{% endmacro %}


Основной html файл
<div class="container-fluid" style="min-height:100%">

        {% with messages = get_flashed_messages() %}
                {% if messages %}
                        {% for message in messages %}
                                <div class="alert alert-warning alert-dismissible" role="alert">
                                        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                                <span aria-hidden="true">&times;</span>
                                        </button>
                                        {{message}}
                                </div>
                        {% endfor%}
                {% endif %}
        {% endwith %}
        </div>
  • Вопрос задан
  • 3104 просмотра
Пригласить эксперта
Ответы на вопрос 2
сложилось такое впечатление что это вопрос из серии "сделайте это быстро и бесплатно, потому что мне лень"
что именно Вы сделали чтобы заработало так как вам нужно и что не получилось ?
Ответ написан
1. Создаешь route/method для получения постов по id - в его ответе будут передаватся html с постом, или сериализованые данные о посте. (Я отдал бы предпочтение json).
2. При открытии страницы загружаешь только последние N-постов с id.
2. На странице указываешь по какому событию проверять последние n-постов.
3. Добавляешь дочерний элемент DOM в блок с постами. Присваеваешь стиль поста.
4. Заполняешь с помощью js DOM элемент содержимым ответа на XHR (AJAX).
youmightnotneedjquery.com

P. S.: Можно передавать пост как кусок HTML и вставлять как innerHTML.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы