@Aslamb
Нравится программирование и все остальное

Как обновить статику/очистить кэш в браузере на python-flask?

В общем, я изменил картинки из своей статики, а браузер показывает старые.

Чуть раньше у меня возникла другая проблема, что не обновлялись стили и мне предложили добавить в файл Фласка следующий код:

#   SNIPPET FOR CAESH   #
@app.context_processor
def override_url_for():
    return dict(url_for=dated_url_for)

def dated_url_for(endpoint, **values):
    if endpoint == 'static':
        filename = values.get('filename', None)
        if filename:
            file_path = os.path.join(app.root_path,
                                     endpoint, filename)
            values['q'] = int(os.stat(file_path).st_mtime)
    return url_for(endpoint, **values)
#   SNIPPET FOR CAESH   #


У меня два вопроса:
  • Как в данном случае заставить браузер обновить изображения?
  • Как в Python очищать кэш браузера?


Заранее благодарю!
  • Вопрос задан
  • 1626 просмотров
Пригласить эксперта
Ответы на вопрос 3
@pcdesign
@app.after_request
def add_header(response):
    response.headers['X-UA-Compatible'] = 'IE=Edge,chrome=1'
    response.headers['Cache-Control'] = 'public, max-age=0'
    return response


Можно вот запретить браузеру кешировать.
Ответ написан
Комментировать
@Zanak
Поиск ваш друг. Можно заставить страницы устареть например так. Хинт для пыха, но адаптируется на раз.
Ответ написан
Комментировать
skipirich
@skipirich
проходил мимо
Можно попытаться закэшировать вьюху. Например вот так
@app.route("/")
@cache.cached(timeout=50)
def index():
    return render_template('index.html')

правда не знаю как отразится это на статике )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 12:20
15000 руб./за проект
25 апр. 2024, в 12:08
300 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект