Было бы лучше использовать отметку времени последнего изменения файла.Тогда вы избежите проблем, с которыми столкнетесь с номером версии.При каждом запросе вам также придется либо идти на диск, чтобы получить последний номер ревизии (используйте кеш при использовании этого подхода), либо изменять инструкции включения в шаге «компиляции» при развертывании.
Кроме того, если выdo styles.css?123
некоторые прокси / браузеры могут вообще не кэшировать файл независимо от заголовков срока действия.Лучше сделать styles.123.css
, который все агенты обрабатывают как отдельный файл.
Есть проект, который уже решает эту проблему, и я использовал его с большим успехом: django-compress.Вы сообщаете ему, как вы хотите сжать ваш javascript и css, затем он минимизирует / сжимает, объединяет их в один большой файл и дает большому файлу специальное имя файла, которое включает метку времени.Вы также получаете тег шаблона для использования при включении файлов, которые знают, какой файл включать.
Django 1.3 также будет включать приложение под названием staticfiles , которое помогает обслуживать статические носители, ноне решает проблему управления версиями.