DEBUG = TrueのときにHerokuに私のアプリを(Django経由で)、DEBUG = Falseのときにサーバーエラーが発生します。私は静的ファイルをどのように設定したのかと関係していると思います。 「STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'」とコメントアウトするとエラーメッセージは表示されませんが、サイトは完全にフォーマットされていません。ここでは、関連するsettings.pyのコードは次のとおりです。サーバエラー(500)の原因となるWhitenoiseや静的ファイル
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
...
]
ALLOWED_HOSTS = ['*']
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT= os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
私は無駄に(ルートフォルダ内settings.pyと同じフォルダ、など)の場所のすべての種類の私の静的フォルダを追加しました。
アイデア?
'' python manage.py collectstatic'を実行して再試行してください。また、エラーが500でないものも含めてください。DEBUG = Falseに設定し、 'python manage.py runserver'を試してみて、スタックトレースを確認してください。 –
一般的なルール運用環境でdjango runserverとstaticfilesを使用しないでください。あなたは開発目的でそれらを使用することになっています。 – 2ps
無関係ですが重要:セキュリティ上、 'ALLOWED_HOSTS'設定で実際に使用するドメインを指定してください。 'ALLOWED_HOSTS = ['*']'を使ってはいけませんが、これは幾分反パターンです。関連するドキュメントについては、https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hostsを参照してください。 – Peterino