私はDjangoCompressorを使用してコーヒー/レスファイルを管理しており、開発に最適ですが、本番環境での展開で機能させるためにいくつかの問題がありました。
私の考えは、おそらく別のサーバーで静的ファイルをホストするためのapacheを用意することです。ファイルを設定COMPRESS_OFFLINE = True
していsettings.py
ます。
それから私は次のことをします
python manage.py compress
-これにより、すべての静的ファイルが収集されるディレクトリにディレクトリが追加されますCACHE
。static
python manage.py collectstatic
-これにより、プロジェクト上のすべてのアプリ(コンプレッサーを使用しないアプリもあります)から静的ファイルがstatic
ディレクトリに収集されます。static
apacheでホストされるディレクトリをどこかにコピーします。そして、ファイルを提供するためにapacheをセットアップします。- 静的サーバーを指すようにファイル
static_url
内の変数を変更します。settings.py
いずれかのページを開くと、サーバーで次のエラーが発生します。これは、ファイルを持っDEBUG = False
ている場合にのみ発生するようです。COMPRESS_OFFLINE = True
settings.py
TemplateSyntaxError:レンダリング中にOfflineGenerationErrorがキャッチされました:オフライン圧縮が有効になっていますが、キー「777ba26736d046ab043dc151e7e9a060」がオフラインマニフェストにありません。「pythonmanage.pycompress」を実行する必要があるかもしれません。
ディレクトリをチェックするstatic/CACHE
と、エラーの内容を確認します。これが私のmanifest.json
ファイルです。
{
"6189b8598993d1cbdbd35d4dfd1a6711": "<script type=\"text/javascript\" src=\"http://192.168.1.123/CACHE/js/2f6ca6616bd6.js\"></script>",
"5c66dbed0e5b766c6e32773cd8585f3c": "<link rel=\"stylesheet\" href=\"http://192.168.1.123/CACHE/css/154d95903951.css\" type=\"text/css\" />"
}
CACHEディレクトリを削除して再実行するpython manage.py compress
と、エラーメッセージとマニフェストファイルの両方に新しいIDのセットが表示されますが、エラーのIDがマニフェストに表示されません。
ですから、ここには2つの質問があると思います。なぜ機能しないのですか?これを達成するための適切な方法は何ですか?
ありがとう。