ご覧いただきありがとうございます!
領護(りょうご)です。
DjangoのdebugがTrueの時は、正しくページが表示されて、Falseの時はエラーが表示されて動かない...。
そんな経験ないですか?
この記事では、エラーが表示された時に確認すべきポイントを多い順にまとめました。
目次
実行環境
Ubuntu・・・20.04.4 LTS
Django・・・3.2.12
画像やJSのパスは正しいか
一部のページが表示されない場合、画像やJSのパスが正しく設定できていない可能性が高いです。
私は、このエラー解決に数時間溶かしたことがあります...。
▼ ファイルが正しく読み込まれないパス
<img src="{% static '/images/gazou.jpg' %}">
<script src="{% static '/js/script.js' %}"></script>
▼ ファイルが正しく読み込むパス
<img src="{% static 'images/gazou.jpg' %}">
<script src="{% static 'js/script.js' %}"></script>
srcの最初に「/」が入っているとエラーで読み込まれません。
debugがTrueの時は読み込まれるので、意外と見落としがちです!
staticフォルダのパスは正しいか
本番環境やdebugをFalseにする時は、必ずstaticフォルダのcollectstaticを行います。
▼ staticフォルダのcollectstaticを実行する
python manage.py collectstatic
これを行わないとstaticフォルダのパスが見つからずエラーになります。
まとめ
debugがTrueの時は動くけど、Falseにしたら急にエラーになることが頻繁にあったので、意外と見落としがちなポイントをまとめてみました。
他にも確認ポイントが見つかればその都度どんどん追加していきます!