db.sqlite3, ,settings.py for heroku


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。它的读书我的解释更多。

最新更新