この記事について
DjangoアプリをHerokuにデプロイする際、自分がつまづいたポイントをまとめてみました。
同じポイントでハマった方の助けになれれば幸いです。
参考にした記事
Djangoの学習・アプリのデプロイの際に参考にさせていただいた記事を載せておきます。(ありがとうございました!)
-
Django Girls (https://tutorial.djangogirls.org/ja/)
- 環境構築から一つ一つ丁寧に書いてあります。
-
[Django] Heroku デプロイ方法 2018年版 (https://qiita.com/okoppe8/items/76cdb202eb15aab566d1)
- デプロイ方法についてとても分かりやすくまとめてあります。
ハマったポイントと対処法
ビルドに成功したはずなのにApplication Errorが出る!
自分の場合の結論
gunicornをrequirements.txtに入れていなかった
シチュエーション
上述したサイトを参考にしてheroku側でビルドまでできたはずなのにApplication Errorと出てしまいました。
とりあえずこんな時はログを確認して原因をさぐります。
heroku cliを入れるのが面倒だったのでコンソール右上の「View logs」から確認しました。
するとこのようなログが
bash: gunicorn: command not found
Procfileに記述していたgunicornコマンドでエラーが出ているようです。
なぜだろう?と思ったら、ローカル側のpipでgunicornをインストールしていなかったため、pip freeze > requirements.txt
で作成した requirements.txt に gunicorn がなかったようです。
結果として heroku 側の環境に gunicorn がインストールされていなかったため、コマンドを実行できなかったようでした。
pip install gunicorn
pip freeze > requirements.txt
これで解決しました。
ローカルではgunicornをインストールしなくても動作するのでこれで引っかかる人もいるのではないでしょうか?(まあ、記事のほうには「gunicorn」をインストールしてくださいと書いてあるので、確認していれば起こらなかったのですが、、、)
最後に
また何かあったら追記します。