Django.db.utils.OperationalError: соединение с сервером на "localhost" (::1), порт 5432 не удалось: fe_sendauth: пароль не введен
при попытке подключить базу данных postgresql с помощью django я столкнулся с этой ошибкой django.db.utils.OperationalError: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied
это мой settings.py
`DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_USER_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
}
}`
Это мой файл .env
`export DB_NAME=demo
export DB_USER=postgres
export DB_USER_PASSWORD=12345678
export DB_HOST=localhost`
Сначала установите библиотеку Python Decouple, выполнив команду pip install python-decouple
. Затем введите в файл .env следующее значение
DB_NAME=demo
DB_USER=postgres
DB_PASSWORD=12345678
DB_HOST=localhost
Убедитесь, что это правильные учетные данные базы данных. В файле settings.py импортируйте библиотеку:
from decouple import config
затем получите параметры настройки:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
'HOST': config('DB_HOST'),
'PORT': '',
}
}
Смотрите https://simpleisbetterthancomplex.com/2015/11/26/package-of-the-week-python-decouple.html