2016-11-09 35 views
1

我是Django和使用shell的極端新手。因此請溫柔。我正在一個站點上工作,該站點的所有者失去了與開發人員的關係,因此失去了管理員帳戶(前端和後端)的密碼。我試圖爲兩者創建超級用戶,但是在數據庫方面遇到問題。該網站使用PostgreSQL數據庫。在shell我激活虛擬環境和運行我的命令:要求無法爲Django站點創建超級用戶 - PostgreSQL數據庫 - 致命錯誤:密碼驗證

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文件指向演示數據庫 - 必須更改爲指向生產數據庫。完全同意 - 糟糕的設置,但我現在有權訪問。

回答

1

可能您(或其他人)將密碼更改爲數據庫。

看你的DATABASES設置你的settings.py文件和更新PASSWORD字段。

編輯:

manage.py使用不同的數據庫設置,比現場。從manage.py文件中刪除if __name__ == '__main__':並嘗試添加用戶。

順便說一句。以這種方式區分prod env從dev env是非常糟糕的解決方案。

+0

數據庫設置似乎位於manage.py文件中記錄的不同位置 - 我可以訪問該文件並且在文件中有密碼。如果密碼錯誤,這不會影響到活動網站保存到數據庫的能力(它可以這樣做) - 我可以作爲基本的前端用戶登錄並更改與用戶關聯的項目。是否可以驗證密碼是否正確? – user2213980

+0

如果我理解正確:你的'manage.py'文件使用不同的'setting.py'文件比項目? –

+0

我的manage.py文件有 if __name__ ==「__main__」: os.environ.setdefault(「DJANGO_SETTINGS_MODULE」,「hci.settings.demo」) 它具有帶數據庫設置的demo.py文件。 ..這個文件還調用一個base.py文件在同一個文件夾與空的數據庫設置我相信與 行從.base import * 在demo.py 的頂部這是否有任何意義? – user2213980

相關問題