Django-compressor: オフライン圧縮を有効にしましたが、キー「cdfe134683bd23a2ea9de19b46490a13」がオフラインマニフェストにありません。

作成日 2014年05月09日  ·  3コメント  ·  ソース: django-compressor/django-compressor

誰かが簡単に答えられるかもしれない何かを修正しようとして私の人生の数え切れないほどの時間を無駄にする前に、私はこれをここに投稿すると思いました。 django-compressorを使用しており、COMPRESS_OFFLINE = Trueに設定すると問題が発生します。 以下にランダムにエラーが発生しているようです。 ページが読み込まれることもあれば、読み込まれないこともあります。 COMPRESS_OFFLINE = Falseで完全に正常に動作します。

You have offline compression enabled but key "cdfe134683bd23a2ea9de19b46490a13" is missing from offline manifest.

これが私たちのセットアップの詳細です。

Django 1.6.3
django-compressor 1.3
google-cloud-storage 0.3
Nginx
Gunicorn

Google Cloudを使用して、コンプレッサーのキャッシュを含む静的コンテンツを提供しています。 コンプレッサーの設定は次のとおりです。

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 %}ブロック内に動的コンテンツがあること、またはCOMPRESS_OFFLINE_CONTEXT渡さなかった変数があることを意味します。 テンプレートやマニフェストなど、デバッグするにはもっと見る必要があります。

全てのコメント3件

{%compress js inline%}の問題を特定しましたが、今はそれを使用しないと思います

これは通常、 {% compress %}ブロック内に動的コンテンツがあること、またはCOMPRESS_OFFLINE_CONTEXT渡さなかった変数があることを意味します。 テンプレートやマニフェストなど、デバッグするにはもっと見る必要があります。

いくつかの問題がありました。 1つ目は、GS_FILE_OVERWRITE = Falseで、コンパイルするたびに異なるバージョンのマニフェストを作成していました。 たとえば、manifest_1.jsonを作成していました。 GS_FILE_OVERWRITE = Trueでcompress_settings.pyを作成し、その設定ファイルでコマンドを実行することで、これを解決しました。

次の問題は、{%compress js inline%}に変数があることが原因でした。 この問題は今すぐ解決できると思います。

このページは役に立ちましたか?
0 / 5 - 0 評価