2016-12-16 33 views
0

我收到錯誤OperationalError: fe_sendauth: no password supplied我的生產服務器上,但我不明白爲什麼...PostgreSQL的Django的不發送密碼

settings.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'dbname', 
     'USER': 'dbuser', 
     'PASSWORD': PROD_DB_PASSWORD, 
     'HOST': 'localhost', 
     'PORT': '5432', 
     } 
    } 

的pg_hba.conf:

host dbname  dbuser  localhost    md5 

如果我做psql -d dbname -U dbuser -h localhost,然後在提示時輸入密碼,我可以看到它的工作原理如此,IDK爲什麼django沒有發送密碼和IDK從這裏查看。

+0

可能重複的[fe \ _sendauth:沒有密碼提供](http://stackoverflow.com/questions/17996957/fe-sendauth-no-password-supplied) – e4c5

+0

@ e4c5它不是重複的...他的解決方案只是使用'信任',這是我正在試圖擺脫 – deltaskelta

+0

特別是在這個問題的關鍵點是重新加載 – e4c5

回答

1

我懷疑你沒有正確地傳遞密碼。這是你如何調試。在settings.py中的DATABASES行後,你可以嘗試打印字典。

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'dbname', 
     'USER': 'dbuser', 
     'PASSWORD': PROD_DB_PASSWORD, 
     'HOST': 'localhost', 
     'PORT': '5432', 
     } 
    } 
print DATABASES 

然後像你那樣管理.py runserver。

查看密碼是否正確傳遞。道歉我的代表尚不足以發表評論。

+0

我試過它在一個殼...有一個老問題config在生產服務器上導入錯誤的一組設置 – deltaskelta