用于heroku部署的django app DATABASES设置问题

时间:2014-06-30 23:14:38

标签: database django postgresql heroku waitress

当我根据官方指南更改我的数据库设置时 DATABASES['default'] = dj_database_url.config() 它有 NameError: name 'DATABASES' is not defined 在建设时。

当我将数据库设置的语法更改为 DATABASES = { 'default': dj_database_url.config() }, 它有 在本地打开应用时settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.。 它有 Internal Server Error: The server encountered an unexpected internal server error (generated by waitress) 从heroku发布时。

注意,这种方式有效。但是当我将我的代码与我的朋友合并时,它又有问题了。我粗略地说它是数据库问题。所以我删除了heroku上的数据库,并希望再次同步。但是当我同步数据库时,它有Import error: No module named events

当我将设置更改回原始方式时: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(PROJECT_PATH, 'db.sqlite3'), } } 它可以在本地(当然)工作,但不能在heroku中,同步数据库时也会出现Import error: No module named events错误。

PS: 1,我确保Heroku安装了运行应用程序所需的所有要求,特别是我检查了所有文件:模型,视图,网址等。 2,我使用女服务员作为服务器而不是Heroku官方指南推荐的gunicorn。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您需要DATABASE_URL将会读取的dj_database_url环境变量。

要设置它,请从终端运行heroku config: set DATABASE_URL=<your database url>