Django:用户的对等身份验证失败

时间:2019-08-07 08:25:28

标签: django postgresql django-settings django-2.2

我已经有一个使用sqlite3的正常运行的网站,但是我更喜欢使用一个立即使用PostgreSQL / PostGIS的空项目来重新启动我的网站项目。在settings.py的配置结束时,我将进行转储以将所有sqlite3表上载到新数据库中。旧项目的任何模型都不会修改到该新项目中。新旧项目之间的区别只是DBMS。

这是 settings.py

INSTALLED_APPS = [
...
'django.contrib.gis',
]
...
DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'my_project_name',
        'USER': 'db_user',
        'PASSWORD': 'password_of_db_user',
    }
}

此后,我尝试使用python3 manage.py runserver测试服务器,但看到此错误消息:

  

django.db.utils.OperationalError:严重:对等身份验证失败   用户“ db_user”

我确定 NAME USER PASSWORD 是正确的,数据库位于本地主机中。几个星期前,我创建了另一个简单的项目,以使用相同的设置来学习GeoDjango,并且该网站运行良好。

1 个答案:

答案 0 :(得分:1)

好像您在配置中缺少host字段:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'my_project_name',
        'USER': 'db_user',
        'PASSWORD': 'password_of_db_user',
        'HOST': 'localhost' # missing part
    }
}