Python+Flask веб приложение. Как ускорить вывод таблицы у клиента?
С помощью Python и Flask написал свое первое веб-приложение которое берет данные из postgres-базы и тупо выводит все строки из одной таблицы через цикл for. Понимаю не лучшее решение, но количество строк относительно небольшое - около 1000 (да и не знаю как по-другому). И если в браузере локально приложение прогружает их быстро (2 секунды), то для клиентов в локальной сети он может грузиться секунд 15, что уже не устраивает.
Как можно ускорить вывод таблицы у клиентов?
index.html:
<table id="dataTable">
<thead>
<th>Имя</th>
<th>Фамилия</th>
<th>Отчество</th>
</thead>
{% for el in articles %}
<!--Цикл вывода всех строк из БД-->
<tr>
<td>{{ el.imya }}</td>
<td>{{ el.familiya }}</td>
<td>{{ el.otchestvo }}</td>
</tr>
{% endfor %}
<!--Заканчиваем цикл вывода строк из бд-->
</table>
app.py:
Ответы (1 шт):
Предлагаю вам рассмотреть внедрение постраничной навигации. При выборке данных из БД выбирайте только часть данных (например, по 15 записей на страницу) и выводите под таблицей номера страниц с возможность перейти на следующую или предыдущую страницы (или перейти по номеру страницы).
Самый быстрый способ это посмотреть в сторону уже готового решений, например, https://github.com/lixxu/flask-paginate или воспользоваться готовой поддержкой постраничной навигации ORM (например, в Flask-SQLAlchemy, статья на эту тему https://habr.com/ru/post/230897/).
Если Вы покажете код view (представления), то можно будет уже на основе Вашего кода дать более точный ответ.