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 шт):

Автор решения: Ozeranskiy S.

Предлагаю вам рассмотреть внедрение постраничной навигации. При выборке данных из БД выбирайте только часть данных (например, по 15 записей на страницу) и выводите под таблицей номера страниц с возможность перейти на следующую или предыдущую страницы (или перейти по номеру страницы).

Самый быстрый способ это посмотреть в сторону уже готового решений, например, https://github.com/lixxu/flask-paginate или воспользоваться готовой поддержкой постраничной навигации ORM (например, в Flask-SQLAlchemy, статья на эту тему https://habr.com/ru/post/230897/).

Если Вы покажете код view (представления), то можно будет уже на основе Вашего кода дать более точный ответ.

→ Ссылка