Хорошо, подумал, что опубликую это здесь, прежде чем тратить бесчисленные часы своей жизни, пытаясь исправить что-то, на что у кого-то может быть простой ответ. Мы используем django-компрессор, и у нас возникают проблемы, когда мы устанавливаем COMPRESS_OFFLINE = True. Кажется, что мы ошиблись ниже случайно. Иногда страница загружается, а иногда нет. Он отлично работает с COMPRESS_OFFLINE = False.
You have offline compression enabled but key "cdfe134683bd23a2ea9de19b46490a13" is missing from offline manifest.
Вот немного подробностей о нашей настройке.
Django 1.6.3
Джанго-компрессор 1.3
Google-облако-хранилище 0.3
Nginx
Gunicorn
Мы используем облако Google для обслуживания статического контента, включая кеш для компрессора. Вот наши настройки для компрессора.
STATIC_URL = 'https://xxxxx.storage.googleapis.com/static/'
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_STORAGE = 'google_folder_storage.google.CacheStorage'
CACHE_GOOGLE_PATH = "cache"
COMPRESS_URL = STATIC_URL
COMPRESS_CSS_FILTERS = [
'compressor.filters.css_default.CssAbsoluteFilter',
'compressor.filters.cssmin.CSSMinFilter',
]
Я определил, что проблема связана с {% compress js inline%}, думаю, сейчас я просто не буду этим пользоваться
Обычно это означает, что у вас есть динамический контент внутри ваших блоков {% compress %}
или переменных, которые вы не передали в COMPRESS_OFFLINE_CONTEXT
. Для отладки потребуется больше информации, например, ваши шаблоны, манифест и т. Д.
Была пара проблем. Во-первых, у нас был GS_FILE_OVERWRITE = False, который создавал разные версии манифеста каждый раз, когда мы выполняли его. Например, создается manifest_1.json. Мы решили это, создав файл compress_settings.py с GS_FILE_OVERWRITE = True и просто выполнив команду с этим файлом настроек.
Следующая проблема была вызвана наличием переменных в {% compress js inline%}. Думаю, сейчас этот вопрос можно закрыть.
Самый полезный комментарий
Обычно это означает, что у вас есть динамический контент внутри ваших блоков
{% compress %}
или переменных, которые вы не передали вCOMPRESS_OFFLINE_CONTEXT
. Для отладки потребуется больше информации, например, ваши шаблоны, манифест и т. Д.