Отключение кэширования в Flask
Описание проблемы
У меня возникли проблемы с кэшированием. Я разрабатываю небольшое веб-приложение, которое считывает один фрейм, сохраняет его на диск, а затем отображает в окне браузера.
Я понимаю, что, возможно, это не лучшее решение, но каждый раз, когда я сохраняю этот фрейм с одним и тем же именем, любой браузер кэширует его.
Я пробовал использовать HTML мета-теги, но безуспешно:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
Также я пытался использовать специальные для Flask заголовки:
resp.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
resp.headers["Pragma"] = "no-cache"
resp.headers["Expires"] = "0"
Вот как я пытался изменить заголовки resp
:
r = make_response(render_template('video.html', video_info=video_info))
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
Тем не менее, как Google Chrome, так и Safari продолжали кэшировать содержимое.
В чем может быть проблема?
1 ответ(ов)
Комбинация установки app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
в файле Python и жесткой перезагрузки браузера Chrome (команда + shift + R) помогла мне, так как, похоже, Chrome кеширует статические файлы.
Возврат JSON-ответа из представления Flask
Как обслуживать статические файлы в Flask
Как получить доступ к строке запроса в маршрутах Flask?
Настройка Flask-разработчика для доступности в сети
Как запустить uWSGI с использованием virtualenv?