错误是:没有名为postgresql.base的模块不正确地配置' django.db.backends.postgresql'

时间:2017-04-27 09:23:12

标签: python django postgresql

我已经为我的django项目安装了postgresql。早些时候,当我安装它并运行makemigrations时,它工作正常,但由于某些原因我必须卸载po​​stgresql并删除其文件并重新安装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

2 个答案:

答案 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文件都回来了。对不起啊!