【问题标题】:KeyError: 'DATABASE_URL'键错误:'DATABASE_URL'
【发布时间】:2014-04-13 13:12:19
【问题描述】:

我需要有关此问题的帮助。

当我使用 foreman start 在本地启动进程时 我得到了这个输出。

 21:59:18 web.1  |     DB_URI = os.environ['DATABASE_URL']
 21:59:18 web.1  |   File        "/Users/radhikasrinivasan/myproject/venv/bin/../lib/python2.7/UserDict.py", line 23, in   __getitem__
21:59:18 web.1  |     raise KeyError(key)
21:59:18 web.1  | KeyError: 'DATABASE_URL'
21:59:18 web.1  | exited with code 1
21:59:18 system | sending SIGTERM to all processes
SIGTERM received

如果这有帮助,请在 settings.py 中。当应用程序部署在 Heroku 中时,它位于 Heroku Postgres :: Orange

 DATABASES = {
          'default': {
                      'ENGINE': 'django.db.backends.sqlite3', 
                           #'ENGINE': 'django.db.backends.postgresql_psycopg2',
                       #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
              }
}

 #Connecting with Django
     import dj_database_url
     DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db')

谢谢你, 辐射

【问题讨论】:

  • 为什么注释掉了NAME参数。必须的
  • Allowed_hosts[] 中有错误。解决了。​​

标签: django sqlite postgresql heroku


【解决方案1】:

这意味着您没有声明环境变量DATABASE_URL,否则它将在os.environ dict中可见。

编辑

不是 Heroku 专家,但也许你应该遵循这个:

https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for-a-deployed-application

【讨论】:

  • Allowed_hosts[] 中有错误。解决了。感谢您分享链接。
  • Rads,如果您认为它有助于解决问题,请接受答案;)
  • 嗨,Tonjo,我现在收到此错误。它还没有解决。 ImportError:没有名为 django.core.management 的模块 14:37:48 web.1 | sh: gunicorn: 找不到命令
  • 添加后为您的 S3 帐户密钥添加一些配置变量:
  • 工头开始 14:37:46 web.1 |从 pid 1701 14:37:48 web.1 | 开始Traceback(最近一次通话最后一次):14:37:48 web.1 |文件“manage.py”,第 8 行,在 14:37:48 web.1 |从 django.core.management 导入 execute_from_command_line 14:37:48 web.1 | ImportError:没有名为 django.core.management 的模块 14:37:48 web.1 | sh:gunicorn:找不到命令 14:​​37:48 web.1 |退出代码 127 14:37:48 system |向收到 SIGTERM 的所有进程发送 SIGTERM
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 2014-01-30
  • 2015-03-06
  • 2016-12-24
相关资源
最近更新 更多