Django アプリの別のコピーを本番環境に置いたところです。「古い」アプリと「新しい」アプリの唯一の意図的な違いは、古いアプリが「従来の」Heroku で実行され、新しいアプリが「Docker 化された」Heroku で実行されることです。
最も奇妙なことが起こっています。Whitenoise を使用して静的アセットを提供しています。古いアプリでは、静的アセットへのリンクは、生成されたページで次のようになります。
<link href="/static/assets/css/bootstrap.min.9f236e18d5bf.css" rel="stylesheet">
しかし、私の新しいアプリでは、その小さな文字列 (9f236e18d5bf) がありません。次のようになります。
<link href="/static/assets/css/bootstrap.min.css" rel="stylesheet">
その結果、新しいサイトにはスタイルシートがありません。
これを機能させるために、Docker化されたバージョンで実行する必要がある追加の手順はありますか? または、必要な STATIC* 設定値の組み合わせが不足していますか?
私の一時的な回避策は、python manage.py collectstatic --noinput
Dockerfile.web に追加してから次のように設定することでした。
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
これは機能しますが、月曜日にスケーリングの問題が発生するかどうか疑問に思っています.