Ok, j'ai pensé que je posterais ceci ici avant de perdre d'innombrables heures de ma vie à essayer de réparer quelque chose auquel quelqu'un pourrait avoir une réponse facile. Nous utilisons django-compressor et avons des problèmes lorsque nous définissons COMPRESS_OFFLINE = True. Nous semblons nous tromper ci-dessous au hasard. Parfois, la page se charge et parfois non. Cela fonctionne parfaitement avec COMPRESS_OFFLINE = False.
You have offline compression enabled but key "cdfe134683bd23a2ea9de19b46490a13" is missing from offline manifest.
Voici quelques détails sur notre installation.
Django 1.6.3
django-compresseur 1.3
google-cloud-stockage 0.3
Nginx
Gunicorne
Nous utilisons Google Cloud pour diffuser du contenu statique, y compris le cache pour le compresseur. Voici nos réglages pour le compresseur.
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',
]
J'ai identifié le problème avec {% compress js inline %} Je suppose que je ne l'utiliserai pas pour l'instant
Cela signifie généralement que vous avez du contenu dynamique dans vos blocs {% compress %}
, ou des variables que vous n'avez pas transmises à COMPRESS_OFFLINE_CONTEXT
. Aurait besoin d'en voir plus pour déboguer, comme vos modèles, manifeste, etc.
Il y avait quelques problèmes. Le premier était que nous avions notre GS_FILE_OVERWRITE = False qui créait une version différente du manifeste à chaque fois que nous nous y conformions. Par exemple, il créait un manifest_1.json. Nous avons résolu ce problème en créant un compress_settings.py avec GS_FILE_OVERWRITE = True et en exécutant simplement la commande avec ce fichier de paramètres.
Le problème suivant était dû à la présence de variables dans {% compress js inline %}. Je suppose que ce problème peut être clos maintenant.
Commentaire le plus utile
Cela signifie généralement que vous avez du contenu dynamique dans vos blocs
{% compress %}
, ou des variables que vous n'avez pas transmises àCOMPRESS_OFFLINE_CONTEXT
. Aurait besoin d'en voir plus pour déboguer, comme vos modèles, manifeste, etc.