Django при соединении с Postgres говорит, что settings.DATABASES неправильно настроен

Я новичок в Django и postgresql. Dajngo установил соединение на первом шаге и создал мои таблицы, но после этого продолжает говорить "settings.DATABASES неправильно настроен, пожалуйста, предоставьте значение NAME или OPTIONS['service'].". Я действительно не знаю, в чем проблема. Я выложу часть кода, связанного с базой данных. Моя база данных работает, и я могу видеть свои таблицы в ней через pgAdmin. Версия Django - 4.1.4, версия psycopg2 - 2.9.5.

Мой sttings.py


POSTGRES_HOST = os.environ.get('POSTGRES_HOST', default="")
POSTGRES_DB = os.environ.get('POSTGRES_DB', default="")
POSTGRES_USER = os.environ.get('POSTGRES_USER', default="")
POSTGRES_PASSWORD = os.environ.get('POSTGRES_PASSWORD', default="")

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': POSTGRES_DB,
        'USER': POSTGRES_USER,
        'PASSWORD': POSTGRES_PASSWORD,
        'HOST': POSTGRES_HOST,
        'PORT': 5432,
    }
}

Мой docker-compose.yml

version: "3.11"

x-service-volumes: &service-volumes
  - ./:/app/:rw,cached

x-database-variables: &database-variables
  POSTGRES_DB: postgres
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: postgres

x-app-variables: &app-variables
  <<: *database-variables
  POSTGRES_HOST: postgres

services:
  website:
    image: iranrevolution-website:latest
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes: *service-volumes
    depends_on:
      - db_migrate
    ports:
      - "8000:8000"

  db_migrate:
    image: iranrevolution-website:latest
    command: python3 manage.py migrate
    volumes: *service-volumes
    environment: *app-variables
    depends_on:
      - postgres
  
  postgres:
    image: postgres
    ports:
      - "5432:5432"
    environment: *database-variables
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data:

Я проверил, что и проект, и база данных запущены в docker. и база данных прослушивает новые соединения. Я попытался подставить реальные значения в качестве значений по умолчанию, как показано ниже: POSTGRES_DB = os.environ.get('POSTGRES_DB', default="postgres")

Мне нужно было изменить docker-compose.yml в части сайта следующим образом:

services:
  website:
  image: myproject-website:latest
  command: python3 manage.py runserver 0.0.0.0:8000
  volumes: *service-volumes
  depends_on:
    - db_migrate
    - postgres
  environment: *app-variables
  ports:
    - "8000:8000"
  
Вернуться на верх