db.sqlite3,,heroku的settings.py

时间:2015-05-14 19:56:22

标签: python django heroku sqlite

DATABASES['default'] =  dj_database_url.config()
NameError: name 'DATABASES' is not defined

我在执行heroku run python manage.py syncdb命令时遇到此错误。

最初我是这样写的

DATABASES = {
    'default': dj_database_url.config()
}

但后来我收到了这个错误

File "/app/.heroku/python/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 20, in <module>
    raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2

sqlite3数据库的正确语法是什么。

2 个答案:

答案 0 :(得分:0)

代码的第二位(你最初的方式)是正确的。但是,听起来你并没有设置DATABASE_URL环境变量。 dj_database_url.config()要求您设置DATABASE_URL环境变量,或者为config()提供默认数据库URL。其自述文件explains more

答案 1 :(得分:0)

我不知道你为什么询问sqlite数据库。您给出的代码是Postres,这是正确的,因为您根本无法在Heroku上使用sqlite。

您收到的错误似乎是因为您没有在您的requirements.txt文件中包含psycopg2