python - 无法为 Django 站点创建 super 用户 - PostgreSQL 数据库 - fatal error : password authentication

标签 python django postgresql

我是 Django 和 shell 的极端新手。因此,请温柔。我在一个网站上工作,该网站的所有者失去了与开发人员的关系,因此失去了管理员帐户(前端和后端)的密码。我正在尝试为两者创建 super 用户,但我遇到了数据库问题。该站点使用 PostgreSQL 数据库。在 shell 中,我激活虚拟环境并运行我的命令:

python3 manage.py createsuperuser

请求并输入电子邮件地址,但在几行脚本后收到错误。

django.db.utils.OperationalError: FATAL: password authentication failed for the user "xxx".

在运行命令之前,我是否需要以某种方式激活或启用与数据库的连接?又一次非常新,并没有试图成为网站上的开发人员 - 只是试图获得访问权限和创建用户。非常感谢。

根据下面的对话添加

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

除了 base.py

from .base import *

DEBUG = True

TEMPLATES[0]['OPTIONS']['debug'] = True

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
     }
}

DATABASES['default'].update({
    'NAME': 'xxx_hcidemo',
    'USER': 'xxx_hcidemo',
    'PASSWORD': 'xxxxxxxxxx',
    'HOST': 'localhost',
})

BROKER_URL = 'redis://localhost:11201/0'
CELERY_RESULT_BACKEND = 'redis://localhost:11201/0'

删除了密码和用户名的整个 demo.py 文件....

找到解决方案了!许多thx- manage.py 文件指向演示数据库- 必须更改为指向生产数据库。完全同意 - 设置不当,但我现在可以访问了。

最佳答案

可能是您(或其他人)更改了数据库的密码。

看看你的DATABASES在您的 settings.py 文件中设置并更新 PASSWORD 字段。

编辑:

您的 manage.py 使用与站点不同的数据库设置。从 manage.py 文件中删除 if __name__ == '__main__': 并尝试添加用户。

顺便说一句。以这种方式区分 prod env 和 dev env 是非常糟糕的解决方案。

关于python - 无法为 Django 站点创建 super 用户 - PostgreSQL 数据库 - fatal error : password authentication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40511913/

相关文章:

postgresql - PostgreSQL 中的文本压缩

SQL 分组依据与未分组的列

regex - postgres regexp_replace 只想允许 a-z 和 A-Z

python - matplotlib gui imshow 坐标

django - 以递归方式使 Django 缓存中的路径无效

django - 无法登录/无法登录 django 租户

python - 模组安全 : Output filter: Failed to read bucket (rc 104): Connection reset by peer

c# - 从 Azure WebJob 运行 Python 脚本

python - 如何从重叠的形状中获取输出? Python 3.5 Tkinter

python - 如何从 AWS S3 存储桶下载加密的 .gz 文件