Как хранить большой полученный набор данных из postgres в представлении Django?
Когда пользователь открывает какое-либо представление Django, есть возможность выбрать, какие данные загрузить из БД postgres. После этого нажимается submit и процесс запускается. Но когда данные получены и в том же представлении нажимаем reload, то весь процесс начинается с начала. Время загрузки составляет около ~10 минут (лучшее решение - загрузить данные один раз, открыв представление, и после этого просто работать с данными, не прибегая к каждой перезагрузке)
Я хочу загружать данные один раз или по кнопке. Но как это реализовать я не понимаю.
Более простой подход - сделать это с помощью двух страниц:
- Первая страница: Пользователь может выбрать загрузку данных
- Вторая страница: Загружает данные и показывает их
Если вы хотите сделать это на той же странице, вы обычно размещаете div на вашей странице, куда должны быть загружены данные, а затем вам нужно использовать Javascript / AJAX для загрузки и обновления вашей текущей страницы (или ее части) на основе пользовательского ввода, например, нажатой кнопки.
Существует множество способов реализовать это. Вот несколько примеров:
- HTMX - загрузка по щелчку
- JQuery - загрузка div при нажатии на кнопку
- Чистый Javascript
Я бы рекомендовал HTMX, потому что он позволяет сделать это без необходимости писать JavaScript и отлично работает вместе с шаблонами Django.