Lastig

初級Web系エンジニアの技術系とかもろもろのブログ

【Heroku/Django】【エラー解決】Server Error (500) 設定ファイル(settings.py, wsgi.py, ...)をいじっても原因がわからない場合

エラーにいたる経緯、試したこと



・herokuにDjangoアプリを置いて、開発していたら突然Server Error 500で動かなくなった。
・settings.py, wsgi.pyに問題があるのかと思ったが、問題なし。関係ありそうな設定をいじっても動かない。

原因



・herokuにDEBUG=Trueで一度上げてしまった。
一度でもDEBUG=Trueで上げると、Falseに直しても回復しないのがハマった原因。

対策



・herokuアプリを作り直す。
→ちょっと面倒くさいけどgitのソースさえあれば、ちゃちゃっとできる。
Debug=Falseで上げると何事もなかったかのように動きやがるのだ。

※動かない旧アプリはすぐには消さずに、残しましょう。add-onとかbuildpackに何を追加したか確認できるので。

・.gitignoreにlocal_settings.pyが入っていることを確認する。
→色々あって.gitignoreを初期化してしまった。。。

補足



原因調査中に、herokuに上がっているsetting.pyの値を確認したくなった。

下記でheroku上のappに入れる

$ heroku run bash

あとはcatとかで中身を確認。viとかで編集はできないっぽい。

$ cat mysite/settings.py

参考



herokuへのアップは下記リンクが秀逸です。
qiita.com