Django的新手!!
在从sqlite3切换到postgresql的过程中, 我试着按照链接中的步骤进行操作。
http://www.marinamele.com/taskbuster-django-tutorial/install-and-configure-posgresql-for-django
settings.py(添加数据库设置如下)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': get_env_variable('DATABASE_NAME'),
'USER': get_env_variable('DATABASE_USER'),
'PASSWORD': get_env_variable('DATABASE_PASSWORD'),
'HOST': '',
'PORT': '',
}
}
def get_env_variable(var_name):
try:
return os.environ[var_name]
except KeyError:
error_msg = "Set the %s environment variable" % var_name
raise ImproperlyConfigured(error_msg)
在Django shell中
>>>from trydjango import settings
>>>settings.DATABASES
{'default': {'ENGINE': 'django.db.backends.dummy', 'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False, 'NAME': '', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None,
'PORT': '', 'HOST': '', 'USER': '',
'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None},
'PASSWORD': '', 'OPTIONS': {}}}
错误:
django.core.exceptions.ImproperlyConfigured:settings.DATABASES is improperly configured.
Please supply the ENGINE value. Check settings documentation
for more details.
请帮我解决这个问题。
答案 0 :(得分:0)
由于代表而回答而不是评论。
您的settings.py显示了这一点:' ENGINE':' django.db.backends.postgresql_psycopg2' 但是你的shell输出显示:' ENGINE' django.db.backends.dummy'
您确定已正确配置所有内容吗?
答案 1 :(得分:0)
settings.DATABASES配置中出现错误
settings.py(现在的数据库设置)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myproject',
'USER': 'myprojectuser',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}
使用$ DATABASE_URL在数据库配置中出现了一些错误 已被更正为
#Update database configuration with $DATABASE_URL.
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)
然后使用
应用迁移python manage.py makemigrations
python manage.py migrate
解决了这个问题。
现在Django shell中的DATABASE配置
>>> from trydjango.settings import DATABASES
>>> DATABASES
{'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2',
'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'myproject',
'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'OPTIONS': {}, 'HOST': 'localhost',
'USER': 'myprojectuser', 'TEST': {'COLLATION': None, 'CHARSET': None,
'NAME': None, 'MIRROR': None}, 'PASSWORD': 'password', 'PORT': ''}}
完成