我已经为我的django项目安装了postgresql。早些时候,当我安装它并运行makemigrations
时,它工作正常,但由于某些原因我必须卸载postgresql并删除其文件并重新安装postgresql,当我现在运行时,它显示我这疯狂错误。
设置文件:
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '*****',
'USER': '*****',
'PASSWORD': '',
错误:
File "/Users/Devadanam/Desktop/trackingsys/lib/python2.7/site-packages/django/db/__init__.py", line 33, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/Users/Devadanam/Desktop/trackingsys/lib/python2.7/site-packages/django/db/utils.py", line 211, in __getitem__
backend = load_backend(db['ENGINE'])
File "/Users/Devadanam/Desktop/trackingsys/lib/python2.7/site-packages/django/db/utils.py", line 134, in load_backend
raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: 'django.db.backends.postgresql' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'sqlite3'
Error was: No module named postgresql.base
答案 0 :(得分:0)
您好像没有安装psycopg2
pip install psycopg2
另一个可能的原因是
在Django 1.9中更改:
命名了django.db.backends.postgresql后端 旧版本中的django.db.backends.postgresql_psycopg2。对于 向后兼容性,旧名称仍适用于较新版本。
https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-DATABASE-ENGINE
因此,您应该更改为使用django.db.backends.postgresql
答案 1 :(得分:0)
问题是我删除了我的virtulenv的lib / python /../ django / db中的postgresql文件。我创建了一个新的virtualenv并且所有的postgres文件都回来了。对不起啊!