Почему Django Admin static не работает в nginx и docker?

Проблема в том, что когда я делаю docker-compose up и захожу на свой сайт по адресу localhost/admin в ngnix, я не вижу стандартных стилей администрирования django.

nginx.conf

location /static/ {
  autoindex on;
  alias movies_admin/staticfiles/;
}

components/static.py

from pathlib import Path
import os

BASE_DIR = Path(__file__).resolve().parent.parent

STATIC_URL = 'static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

STATIC_ROOT = 'movies_admin/staticfiles/'

docker-compose.yml

version: '3.8' 

services:
  django:
    build:
      context: .
    
    volumes:
      - "./movies_admin:/movies_admin"
      - "./movies_admin:/movies_admin/staticfiles/"
    
    environment:
      - DB_HOST=database
      - DB_NAME=movies_database
      - DB_USER=app
      - DB_PASSWORD=123qwe
      - SECRET_KEY='django-insecure-8h%wg+drqmqjkw$8wm7#)#%*fb3b%(-e!-kbdth^#9u)23u!48'
    
    command:
      sh -c "uwsgi --ini /movies_admin/uwsgi.ini"
    
    depends_on:
      - database
  
  database:

    image: postgres:16

    environment:
      - DB_NAME=movies_database
      - DB_USER=app
      - DB_PASSWORD=123qwe
    
    volumes:
      - $HOME/postgresql/data:/var/lib/postgresql/data
  
  nginx:
    image: nginx:latest
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./movies_admin:/movies_admin/staticfiles/
    ports:
      - "80:80"
    depends_on:
      - django

Dockerfile

FROM python:3.10.0-alpine

RUN apk add postgresql-client build-base postgresql-dev linux-headers pcre-dev

WORKDIR /movies_admin

COPY requirements.txt .

RUN pip install -r requirements.txt --no-cache-dir

EXPOSE 8000

COPY movies_admin .

RUN python3 manage.py collectstatic --no-input 

Я прочитал все доступные учебники и понял алгоритм:

  1. Настройте статические файлы в settings.py
  2. В Dockerfile collectstatic
  3. Смонтируйте путь к статическим файлам в тома nginx и django контейнеров
  4. .
  5. Передайте путь к staticfiles в nginx.conf для настройки маршрутизации, если был запрошен статический файл

Несмотря на все это, я не вижу стилей в админке django. В чем может быть проблема?

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