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