Django と静的アセット
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2023年02月22日(水)
Table of Contents
WhiteNoise
Django では、本番環境での静的ファイルの処理がサポートされていません。ただし、優れた WhiteNoise プロジェクトを Django アプリケーションに統合することが可能であり、これはまさにこの目的を念頭において設計されました。
詳細は、WhiteNoise Django のドキュメントを参照してください。
GitHub.の Getting Started with Python プロジェクトに settings.py
の完全な例があります。
ビルド中の collectstatic
Django アプリケーションが Heroku にデプロイされる場合は、ビルド中に $ python manage.py collectstatic --noinput
が自動的に実行されます。この collectstatic の手順が成功しないと、ビルドは失敗します。
デバッグ
ビルド中に collectstatic が失敗した場合は、問題の診断に役立つトレースバックが提供されています。collectstatic が実行された環境に関する追加情報が必要な場合は、DEBUG_COLLECTSTATIC
設定を使用します。
$ heroku config:set DEBUG_COLLECTSTATIC=1
これは、collectstatic コマンドが実行されたときに Python から使用できたすべての環境変数のビルド出力に表示されます。
collectstatic の無効化
Heroku で自動的に collectstatic が実行されるようにしたくない場合があります。DISABLE_COLLECTSTATIC
設定を使用して、collectstatic のビルドステップを無効にすることができます。
$ heroku config:set DISABLE_COLLECTSTATIC=1
これにより、ビルドの collectstatic の手順が完全に無効になります。