【发布时间】:2015-07-14 17:03:38
【问题描述】:
我正在开发我的第一个 Heroku/Django 应用程序。我只是想确保我正确设置了DATABASE_URL 和DATABASES 变量。这是我的代码中的内容:
import dj_database_url
DATABASE_URL = 'postgresql:///my_app'
# Parse database configuration from $DATABASE_URL
DATABASES = {
'default': dj_database_url.config(default=DATABASE_URL)
}
当我只有DATABASES['default'] = dj_database_url.config() 并尝试使用run server 或migrate 之类的Django 命令时,我收到以下错误:NameError: name 'DATABASES' is not defined。我设置了DATABASE_URL,因为这样做似乎可以解决这个问题(在我创建my_app 数据库之后)。
在我编写代码和测试时,一切似乎都运行良好,但我还在互联网上看到了六种不同的设置数据库变量的方法。如果这不正确,我想现在修复它。真正让我困惑的是,当我将我的应用程序推送到 Heroku 时,当数据库是 /usr/local/var/postgres 时,数据将如何被推送到网络上?或者这根本不会发生?在这一点上我是不是太困惑/太累了?
【问题讨论】:
-
DATABASES['default'] = dj_database_url.config()返回 NameError 因为那里不存在 DATABASES 字典。DATABASES = {}DATABASES['default'] = dj_database_url.config()应该可以工作 -
我已经在 localhost 中进行调谐时连接了一个 Postgresql 数据库,但是当我托管在 Heroku 上时,它创建了自己的数据库,我需要更改它并链接我已经存在的数据库。怎么做,有人可以帮我吗?谢谢。
标签: python django postgresql heroku