I’m working on a Django locally and want to connect it to postgres container, I can connect to postgres using pgadmin but not Django here is my code :
Compose file :
db:
image: postgres:latest
ports:
- 5432:5432
# volumes:
# - ~/apps/postgres:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_USER: ${DATABASE_USER}
POSTGRES_DB: ${DATABASE_NAME}
.env file:
DATABASE_NAME="postgres"
DATABASE_USER="postgres"
DATABASE_PASSWORD="password"
DATABASE_HOST="localhost"
DATABASE_PORT="5432"
settings.py file:
import os
from dotenv import load_dotenv
load_dotenv()
DATABASES = {
'default': {
"ENGINE": "django.db.backends.postgresql",
"NAME": os.getenv("DATABASE_NAME"),
"USER": os.getenv("DATABASE_USER"),
"PASSWORD": os.getenv("DATABASE_PASSWORD"),
"HOST": os.getenv("DATABASE_HOST"),
"PORT": os.getenv("DATABASE_PORT"),
}
}
and this is a brief output:
django.db.utils.OperationalError: connection to server at "127.0.0.1", port 5432 failed: FATAL: password authentication failed for user "postgres"
1