【发布时间】:2017-05-12 04:56:52
【问题描述】:
我正在尝试使用 django applciation 以 postgresql 作为其后端来配置服务器。在我尝试运行迁移时安装所需的包、数据库和环境后,我收到以下错误
Traceback (most recent call last):
File "/var/envs/traveldbapi/lib/python3.4/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
self.connect()
File "/var/envs/traveldbapi/lib/python3.4/site-packages/django/db/backends/base/base.py", line 189, in connect
self.connection = self.get_new_connection(conn_params)
File "/var/envs/traveldbapi/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection
connection = Database.connect(**conn_params)
File "/var/envs/traveldbapi/lib/python3.4/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: fe_sendauth: no password supplied
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/var/envs/traveldbapi/lib/python3.4/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
====
ommitting some lines
====
connection = Database.connect(**conn_params)
File "/var/envs/traveldbapi/lib/python3.4/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: fe_sendauth: no password supplied
我确认存在 django 所需的相关 DATABASE 设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'localhost',
'NAME': DATABASE_NAME,
'USER': DATABASE_USER,
'password': DATABASE_PASSWORD
}
}
我不确定为什么会发生此错误,因为这是我在本地计算机上使用的相同设置,并且可以正常工作。为了确认我的pg_hba.conf 没有任何问题,我从全新安装开始。配置未以任何方式修改,应用程序用户对应用程序数据库具有所需的权限。
【问题讨论】:
-
表示 DATABASE_PASSWORD = '****' 您的设置文件中有这样的内容吗?所以这意味着 django 没有得到密码
-
是的,将密码字段设为大写,例如 PASSWORD : YOUR PASSWORD
标签: python django postgresql