mathpython thesaurus

広告

DjangoをHerokuにデプロイしてもアプリケーションエラーになる時に見直すべきこと

デプロイは成功するが、アプリケーションエラーになる時、次の原因が考えられる。

重要なファイルがない

  • Pipfile
  • Pipfile.lock
  • Procfile
  • runtime.txt
  • requirements.txt

これらはDjangoそのものと関係ないが、サーバーにデプロイする時に影響する。この5つのファイルはDjangoを動かすにあたってエラーになりやすいところ。

PostgreSQLなどのサーバー設定がない

PostgreSQLの場合、下のように設定する。

SECURE_SSL_REDIRECT = True
django_heroku.settings(locals())
DATABASES = {
    'default': dj_database_url.config(
        default='postgres://fktshfuksrhdvnkhc...'
    )
}
db_from_env = dj_database_url.config()
DATABASES['default'].update(db_from_env)

postgres://fkt...はデータベースのアドレス。Herokuは最初からPostgreSQLを用意しており、そのアドレスも管理画面に表示されている。

manage.pyとwsgi.py

アプリをコピーして使いまわしている場合など、manage.pyは意外と見落としやすい。settingsはきちんと設定しているだろうか?

ALLOWED_HOSTS

ALLOWED_HOSTSにHerokuのドメインを設定していないとエラーになる。

広告

広告