我是Django的极端新手并使用shell。所以请温柔。我正在一个网站上,业主已失去与开发人员的关系,因此密码管理员帐户(前端和后端)。我正在尝试为两者创建超级用户,但我遇到了数据库问题。该站点使用PostgreSQL数据库。在shell中,我激活虚拟环境并运行我的命令:
python3 manage.py createsuperuser
请求输入电子邮件地址并输入,但在几行脚本后收到错误。
django.db.utils.OperationalError:致命错误:用户" 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文件指向演示数据库 - 必须更改为指向生产数据库。完全同意 - 糟糕的设置,但我现在可以访问。
答案 0 :(得分:1)
可能您(或其他人)将密码更改为数据库。
查看settings.py
个文件中的DATABASES次设置并更新PASSWORD
字段。
修改强>
您的manage.py
使用与网站不同的数据库设置。从if __name__ == '__main__':
文件中删除manage.py
并尝试添加用户。
顺便说一句。以这种方式解决prod
env dev
env的非常糟糕的解决方案。