一開始學用Heroku部署網站時,碰到許多資料庫配置的問題,下面是原本資料庫的設定:
1 | DATABASES = { |
整個專案都透過git上傳到heroku,但heroku顯示一個資料工作表都沒有:
我先手動把資料庫上傳上去,在Terminal執行下面命令:
1 | heroku pg:push postgres://localhost/資料庫的名字quiz postgresql-infinite-12345 --app django-hp-quiz |
執行完後總算有資料了:
但網頁畫面卻說:
最後在settings.py增加下面的程式碼:
1 | import dj_database_url |
小結:Heroku透過dj_database_url來定位資料庫(它是一串文字包含postgress://…username password database-name),而因為在一開始我沒有設定DATABASE URL,所以Heroku會默認使用他們提供的設定,資料庫才會是空的。
下圖的’HEROKU_POSTGRESQL_PUCE_URL’就是在沒有設置DATABASE URL時Heroku會幫你默認的資料庫相關資訊: