【问题标题】:I have got this error when i run python manage.py makemigrations运行 python manage.py makemigrations 时出现此错误
【发布时间】:2021-02-15 05:13:50
【问题描述】:

makemigrations 时出现此错误

setting.py中数据库的databe设置为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'freecodeschool',
        'USER': 'fcs_admin',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '',
    }
}

当我运行迁移时,我得到了这个错误。

   return func(*args, **kwargs)
  File "/home/danish-khan/django_drf/django/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/home/danish-khan/django_drf/django/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: fe_sendauth: no password supplied

当我提供密码时,它会给我这个错误。

   connection = Database.connect(**conn_params)
  File "/home/danish-khan/django_drf/django/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL:  password authentication failed for user "fcs_admin"
FATAL:  password authentication

【问题讨论】:

  • 错误消息说明了您遇到的确切问题。 no password supplied
  • 你也需要指定你的端口。
  • 但我提供了密码和端口,我给了我这个错误。连接 = Database.connect(**conn_params) 文件“/home/danish-khan/django_drf/django/lib/python3.8/site-packages/psycopg2/__init__.py”,第 127 行,在连接 conn = _connect(dsn , connection_factory=connection_factory, **kwasync) django.db.utils.OperationalError: FATAL: password authentication failed for user "fcs_admin" FATAL: password authentication
  • @Akashsenta 不需要。来自文档:“空字符串或逗号分隔列表中的空项目,指定默认端口号”
  • @DanishKhan :首先您必须尝试使用​​该用户名和密码与 cmd 或 pgadmin 连接。

标签: python postgresql django-rest-framework


【解决方案1】:

您似乎没有填写 PASSWORD 并且您的数据库想要用户“fcs_admin”使用它。除此之外,您还应该添加您的 db PORT。 (默认为 5432) 如果您不确定 postgres 用户的密码,您可以使用以下命令:

sudo su postgres
\du

【讨论】:

  • 我在这里编辑的是 'DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'freecodeschool', 'USER': 'fcs_admin', 'PASSWORD': 'danish3210', 'HOST': 'localhost', 'PORT': '5432', } } ' 但再次出现 sme 错误:conn = _connect(dsn, connection_factory= connection_factory, **kwasync) django.db.utils.OperationalError: FATAL: 用户“fcs_admin”的密码验证失败 FATAL: 用户“fcs_admin”的密码验证失败
  • 确保使用上述命令正确填写密码。
  • 感谢我在 psql set admin password 中设置了密码,现在它开始工作了。
猜你喜欢
  • 1970-01-01
  • 2016-08-09
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
  • 1970-01-01
  • 2020-08-09
  • 2019-07-07
相关资源
最近更新 更多