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

Вернуться на верх