1

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 安装了运行应用程序所需的所有要求,特别是我三重检查了所有文件:模型、视图、url 等。 2、我使用 waitress 作为服务器而不是推荐的 gunicorn Heroku 官方指南。

我该如何解决?

4

1 回答 1

1

您需要一个可以读取的DATABASE_URL环境变量。dj_database_url

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

于 2014-06-30T23:48:44.790 回答