HerokuにDjangoをDeployする際、Heroku posgreのconfig varのDATABASE_URLをDjangoで読み込見込んで、正常に動作させたい
Q&A
Closed
解決したいこと
HerokuにDjangoをDeployする際、Heroku posgreのconfig varのDATABASE_URLをDjangoで読み込見込んで、正常に動作させたい
発生している問題・エラー
Heroku PosgreのDATABASE_URLをDjangoのsetting.pyで読み込めず、application errorが発生する
Application error
Django+REST frameworkを使ってAPIサーバーを構築し、Herokuにアップする際、setting.pyのDATABASESにHeroku PostgreのDATABASE_URLを下記のようにハードコードすると問題なくHeroku上で動作する。(xxxは、本来はDATABASE_URLの情報を入力しているが、今回はあえて隠している)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'xxx',
'HOST': 'xxx',
'PORT': '5432',
'USER': 'xxx',
'PASSWORD': 'xxx,
}
}
しかし、Djangoのプロジェクトに.envファイルを追加し、下記のように記載して、(xxxは、本来はDATABASE_URLの情報を入力しているが、今回はあえて隠している)
DATABASE_URL=postgres://xxxx
setting.pyに
import dj_database_url
from dotenv import (
find_dotenv,
load_dotenv,
)
load_dotenv(find_dotenv())
DATABASES = {
'default': dj_database_url.config(conn_max_age=600),
}
のように記載すると、local環境では動作するが、herokuにアップするとapplication errorになる。
原因はわかりますか?
0