Как я могу исправить ошибку развертывания Django с помощью медиафайлов

Установите мой проект django с nginx, gunicorn и whitenoise; это с использованием среды ubuntu. Когда я загружаю изображение на свой сервер, все получается отлично, но при выполнении запроса он выдает такую ошибку: "GET /media/new/image/Imagen_de_WhatsApp_2024-07-05_a_las_14.24.21_e5e0f412.jpg HTTP/1.1" 404 179 "

Вот конфигурация моих различных файлов:

nginx:

server {
listen 80;
server_name 127.0.0.1;

    location /static/ {
        alias /home/albert-ubuntu/django-club-page/staticfiles/;
    }
    
    location /media/ {
        alias /home/albert-ubuntu/django-club-page/media/;
        access_log off;
    }
    
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

}

gunicorn:

#!/bin/bash

NAME="django-club-page"                    # Nombre de la aplicación Gunicorn
DJANGODIR=/home/albert-ubuntu/django-club-page  # Directorio raíz de tu proyecto Django
USER=albert-ubuntu                        # Usuario bajo el cual se ejecutará Gunicorn
GROUP=albert-ubuntu                       # Grupo bajo el cual se ejecutará Gunicorn
WORKERS=3                                 # Número de workers que Gunicorn utilizará
BIND=127.0.0.1:8000                       # Dirección y puerto donde Gunicorn escuchará
DJANGO_SETTINGS_MODULE=api.settings       # Módulo de configuración de Django que Gunicorn usará
DJANGO_WSGI_MODULE=api.wsgi               # Módulo WSGI de Django que Gunicorn cargará

echo "Starting $NAME as `whoami`"

cd $DJANGODIR                              # Cambiar al directorio de tu proyecto Django
source venv/bin/activate                   # Activar el entorno virtual de Python (si lo usas)
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH   # Añadir el directorio de tu proyecto al PYTHONPATH

# Ejecutar Gunicorn para servir la aplicación Django

exec gunicorn ${DJANGO_WSGI_MODULE}:application \
\--name $NAME \
\--workers $WORKERS \
\--user=$USER --group=$GROUP \
\--bind=$BIND \
\--log-level=info \
\--log-file=-

Setting.py:


from pathlib import Path
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MIDDLEWARE = \[
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
\]

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/4.1/howto/static-files/

STATIC_URL = ('/static/')
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = \[os.path.join(BASE_DIR, 'static')\]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

# Configuración de WhiteNoise para la compresión y el almacenamiento en caché

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
Вернуться на верх