Я работаю над универсальным решением проблемы со статическими файлами и обновлениями в Это.
Пример: допустим, был сайт с файлом /static/styles.css
- и сайт использовался долгое время - поэтому многие посетители кэшировали этот файл в браузере.
Теперь мы делаем изменения в этом файле css и обновление на сервере, но у некоторых пользователей все еще есть старая версия (несмотря на дату модификации, возвращенную сервером)
Очевидное решение - добавить некоторую версию в файл /static/styles.css?v = 1.1
, но в этом случае разработчик должен отслеживать изменения в этом файле и вручную увеличивать версию
Второе решение - подсчитать хэш файла md5 и добавить его в URL /static/styels.css /? v = {mdp5hashvalue}
, что выглядит намного лучше, но md5 нужно каким-то образом вычислять автоматически.
они, возможно, так, как я это вижу - создайте какой-нибудь шаблонный тег вроде этого
{% static_file "style.css" %}
, который будет отображать
<link src="/static/style.css?v=md5hash">
НО, я не хочу, чтобы этот тег вычислял md5 при каждой загрузке страницы, и я не хочу хранить хэш в django-cache, потому что после обновления файла нам придется очистить ...
какие-нибудь мысли?