DjangoでHerokuにデプロイしたもののアプリケーションエラーが出る時はProcfileにエラーがある可能性
2023.02.18
デプロイがうまくいって、マイグレーションもうまくいったとする。プログラムにバグがあったらマイグレーションは成功しないので、プログラムの環境に問題がある。
可能性としてプロジェクト直下の Procfile に問題がある。ここには下のように書く。
web: gunicorn (あなたのプロジェクトのwsgi.pyがあるディレクトリの名前).wsgi
もしあなたの wsgi.py が apple というディレクトリに入っていたら
web: gunicorn apple.wsgi
となる。
Heroku に付属のものか何かで、Django アプリをそのままダウンロードして使うことができた気がする。たいていそういったコマンドで落としてきたプロジェクトには、Procfile に問題がある。
デフォルトのままだと wsgi の前が root とかになっているので、これを変更しないといけない。
アプリケーションエラーは海外で大量の報告がされている。データベースの設定に問題があるのか?など混乱が混乱を呼ぶところで、プログラマーの時間をつぶしてしまうようだ。
厄介なことに、Heroku のエラーステータスのページはほとんど参考にならない。日本のどこかのページで「きちんと見るように」的なことが書かれていたが、実際はStack Overflowで検索をかけていくしかない。
タイトルからそれるが、Pillow というモジュールはバージョン5.0.0が安定版であり、それ以上は不安定でデプロイした時に挙動不審な行いをする可能性がある。画像処理関係のアプリでは注意しないといけない。