LoginSignup
4
4

More than 1 year has passed since last update.

【Django / heroku】デプロイ後のアプリケーションエラーに対する確認すべき点

Last updated at Posted at 2021-11-03

はじめに

どうもこんばんは、吉田プログラマーです。
herokuへのデプロイ経験は2回しかありませんが、エラーに対して確認してきた点を述べていきます。

なお、今回はデプロイ時のエラーではなく、デプロイ後のアプリケーションエラーについて説明します。

アプリケーションエラー

アプリケーションエラー.png

出ました、憎きアプリケーションエラーの画面ですね。
親の顔よりとまではいかずとも、親戚の顔より見た人は多いんじゃないでしょうか(多分)。
[heroku logs --tail]でログを確認してもいまいちピンと来ませんでしたが、エラーの理由は結構初歩的なミスばかり。。。

遭遇したエラー原因を以下に記していきます。

①Procfile

ここでミスしてはいけない点は、ちゃんとプロジェクト名を指定出来ているかだと思います。
Djangoで何かしらのアプリケーションを開発する際、最初にこのコマンドを打ちますよね。

django-admin startproject <プロジェクト名>

ここで指定したプロジェクト名は、Procfileの記述の際にも使用します。

web: gunicorn <プロジェクト名>.wsgi

それとProcfileの配置場所にもご注意ください。プロジェクトフォルダ直下に作成となります。

②requirements.txt

このテキストファイルも必ず、プロジェクトフォルダ直下に作成します。
あと必要なライブラリをインストールした場合、下記コマンドで更新を忘れないようにしましょう。

requirements.txt
pip freeze > requirements.txt

デプロイ後の「 heroku run python manage.py migrate 」実行時にエラーが出てしまいます。

③runtime.txt

ちゃんとPythonのバージョンも教えてあげないとですね。こちらも当然、プロジェクトフォルダ直下に作成します。
使用しているPythonの現バージョンは以下のコマンドを実行して確認します。

python --version

表示されたバージョンが分かり次第、runtime.txtには以下のようにバージョンを記述していきます。

runtime.txt
python-<pythonバージョン>

④マイグレーション

上記3ファイルを作成後、今度はマイグレーションもしなければなりません。herokuのpostgreSQLに対してですね。

heroku run python manage.py migrate

⑤スーパーユーザー

開発環境同様、スーパーユーザーの作成も必須です。
以下のコマンドを打って作成しましょう。

heroku run python manage.py createsuperuser

おわりに

簡単に述べましたが、他にも沢山の原因があるかもしれません。
いま一度デプロイの方法等を一から確認し、スペルミスがないか、手順に抜け落ちがないか確認した方が良いでしょう。
……と自信満々に言ってますが、こちらも十分に気を付けていかないとですね(汗)

記事に間違い、追記すべき点等がありましたら、コメント欄にご連絡頂けますと幸いです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4