2015-06-02 3 views
0

Приложение django должно отображать данные на моей домашней странице, которые они собирали у третьих лиц. Запрос информации и ожидание ответа занимает около секунды, что слишком длительное время обработки для главной страницы. Данные, которые получает мое приложение, часто не меняются, поэтому нет причин извлекать эти данные каждый раз, когда отображается домашняя страница. Вместо этого я хочу сохранить данные и заставить приложение делать запрос, только если последнее «обновление» было сделано более часа назад.Одиночная запись модели в базе данных

Поскольку использование глобальных переменных в django, по-видимому, не имеет значения, мне нужно создать модель базы данных, которая всегда будет содержать одну запись. Это кажется неправильным. Действительно ли сделать столы с одной записью действительно способ пойти сюда?

ответ

3

Вместо создания модели для кэширования ответа удаленного сайта вы можете использовать систему кэширования Django. Более конкретно, вы можете кэшировать определенное представление и устанавливать тайм-аут для кэшированного представления. См. Страницу документации this для получения дополнительной информации о том, как это сделать.

+2

Обратите внимание, что вы также можете просто кэшировать данные третьих частей - не обязательно весь вид - если вам нужны эти данные в другом месте. –

+1

Да, низкоуровневое кэширование идеально подходит для хранения данных, полученных от третьих лиц. – Mirac7

Смежные вопросы