KeyError:'DATABASE_URL'

时间:2014-03-10 12:25:07

标签: django sqlite postgresql heroku

我在这个问题上需要帮助。

当我使用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')

谢谢你, 拉德

1 个答案:

答案 0 :(得分:1)

这意味着您没有声明环境变量DATABASE_URL,或者它会在os.environ dict中显示。

修改

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

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