Можете ли вы сохранить постоянный глобальный объект в Django? - PullRequest
0 голосов
/ 29 мая 2020

Я работаю над небольшой веб-страницей, использующей гео-пространственные данные. Я сделал свой первоначальный анализ в Python, используя Geo Pandas и Shapely, и я пытаюсь создать веб-страницу из этого. Проблема в том, что при использовании Django я не могу найти способ сохранить файл формы, хранящийся как постоянный объект. Каждый раз, когда делается запрос на выполнение операций с шейп-файлом, мне нужно загрузить данные из источника. Это занимает примерно 6 секунд, в то время как стандартная глубокая копия df.copy() фрейма данных занимает доли секунды. Есть ли способ сохранить фрейм данных в Django, который может быть доступен и глубоко скопирован представлениями без повторного чтения шейп-файла?

1 Ответ

0 голосов
/ 09 июня 2020

Из-за природы Django глобальные переменные не работают так хорошо. Я решил эту проблему двумя разными способами. Во-первых, просто использовать django сеансов. Таким образом, объект, который вы хотите сохранить глобально, теперь нужно загружать только один раз за сеанс на вашем веб-сайте. Второй и более эффективный вариант - использовать сервер кеширования, Redis или memcached. Это позволит вам очень быстро хранить и получать ваши объекты во всех ваших сессиях и максимально повысит производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...