В Django whitenoise не показывает статические файлы

Это мой первый раз, когда я использую whitenoise. При выполнении DEBUG=FALSE я не могу увидеть изображения даже после выполнения python manage.py collectstatic. Все статические файлы передаются в каталог, указанный в директории STATIC_ROOT после collectstatic, но на сайте появляется ошибка Not Found.

Мой settings.py:


    BASE_DIR = Path(__file__).resolve().parent.parent
    SECRET_KEY = os.environ.get('SECRET_KEY')
    DEBUG = False
    
    INSTALLED_APPS = [
        'whitenoise.runserver_nostatic',
        'phonenumber_field',
        'ramrobazar.account.apps.AccountConfig',
        'ramrobazar.dashboard.apps.DashboardConfig',
        'ramrobazar.inventory.apps.InventoryConfig',
        'ramrobazar.drf.apps.DrfConfig',
        'ramrobazar.demo.apps.DemoConfig',
        'mptt',
        # 'django_elasticsearch_dsl',
        'rest_framework',
        'rest_framework.authtoken',
        'rest_framework_simplejwt.token_blacklist',
    
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    
        'corsheaders',
    ]
    
    MIDDLEWARE = [
        
        
        'django.middleware.security.SecurityMiddleware',
    
        'whitenoise.middleware.WhiteNoiseMiddleware',
        'corsheaders.middleware.CorsMiddleware',
        
    
        '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_URL = 'static/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
        ]
    
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    
    MEDIA_URL = 'images/'
    
    MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')

Мой корень urls.py:


    from django.contrib import admin
    from django.urls import path, include
    from django.conf.urls.static import static
    from django.conf import settings
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('api/', include('ramrobazar.drf.urls')),
        path('api-auth/', include('rest_framework.urls')),
        path('demo/', include('ramrobazar.demo.urls')),
    ]
    
    urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

Когда я запускаю 'collectstatic', все статические файлы передаются в BASE_DIR/'staticfiles', поскольку это путь, указанный в STATIC_ROOT в settings.py. Но когда я запускаю python manage.py runserver --nostatic и пытаюсь получить доступ к изображениям на сайте, он показывает


    Not Found
    
    The requested resource was not found on this server.

Я не знаю, в чем проблема. Пожалуйста, дайте любое ваше предложение.

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