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数据库的正确语法是什么。
答案 0 :(得分:0)
代码的第二位(你最初的方式)是正确的。但是,听起来你并没有设置DATABASE_URL
环境变量。 dj_database_url.config()
要求您设置DATABASE_URL
环境变量,或者为config()
提供默认数据库URL。其自述文件explains more。
答案 1 :(得分:0)
我不知道你为什么询问sqlite数据库。您给出的代码是Postres,这是正确的,因为您根本无法在Heroku上使用sqlite。
您收到的错误似乎是因为您没有在您的requirements.txt文件中包含psycopg2
。