1. ホーム
  2. ジャンゴ

[解決済み】DEBUG=Falseを設定すると、なぜdjangoの静的ファイルアクセスに失敗するのですか?

2022-03-24 07:34:36

質問

Djangoを主力としたアプリを構築しています。DBの設定、静的ディレクトリ、URL、ビューなどの設定など、今のところすべてうまくいっています。しかし、私が独自の美しいカスタム404.htmlと500.htmlページをレンダリングしたいと思った瞬間に、問題が忍び込み始めました。

カスタムエラー処理に関するドキュメントを読み、UrlsConf で必要な設定を行い、対応するビューを作成して、404.html と 500.html をアプリのテンプレートディレクトリに追加しました (settings.py でも指定されています)。

しかし、ドキュメントによると you can actually view custom error views until Debug is Off だから、テストするためにそれをオフにしたんですが、そのときにいろいろとおかしくなってしまったんです。

カスタム404.htmlが表示されないだけでなく(実際にはロードされるのですが、私のエラーページはそれぞれグラフィックエラーメッセージを含んでいるので、素敵な画像として)、エラーページのソースはロードされますが、他は何もロードされません!このエラーページのソースがロードされると、私はそのエラーページが表示されるようになります。リンクされたCSSやJavascriptさえも読み込まれません。

一般に、私は一度 DEBUG = False しかし、リンクされたコンテンツ(CSS、Javascript、画像など)は読み込まれません。何が起こっているのでしょうか?静的ファイルと DEBUG の設定を教えてください。

解決方法は?

デバッグをオフにすると、Django はこれ以上静的ファイルを扱えなくなります - 本番の Web サーバ (Apache か何か) がそれを処理するはずです。