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数据库的正确语法是什么。
我不知道您为什么询问SQLite数据库。您给出的代码是针对Postres的,这是正确的,因为您根本无法在Heroku上使用SQLITE。
您似乎遇到的错误是因为您尚未在要求中包含 psycopg2
。
第二位代码(最初这样做的方式)是正确的。不过,听起来您没有设置DATABASE_URL
环境变量。dj_database_url.config()
要求您设置DATABASE_URL
环境变量,或向config()
提供默认数据库URL。它的读书我的解释更多。