Как хранить большой полученный набор данных из postgres в представлении Django?

Когда пользователь открывает какое-либо представление Django, есть возможность выбрать, какие данные загрузить из БД postgres. После этого нажимается submit и процесс запускается. Но когда данные получены и в том же представлении нажимаем reload, то весь процесс начинается с начала. Время загрузки составляет около ~10 минут (лучшее решение - загрузить данные один раз, открыв представление, и после этого просто работать с данными, не прибегая к каждой перезагрузке)

Я хочу загружать данные один раз или по кнопке. Но как это реализовать я не понимаю.

Более простой подход - сделать это с помощью двух страниц:

  • Первая страница: Пользователь может выбрать загрузку данных
  • Вторая страница: Загружает данные и показывает их

Если вы хотите сделать это на той же странице, вы обычно размещаете div на вашей странице, куда должны быть загружены данные, а затем вам нужно использовать Javascript / AJAX для загрузки и обновления вашей текущей страницы (или ее части) на основе пользовательского ввода, например, нажатой кнопки.

Существует множество способов реализовать это. Вот несколько примеров:

Я бы рекомендовал HTMX, потому что он позволяет сделать это без необходимости писать JavaScript и отлично работает вместе с шаблонами Django.

Вернуться на верх