Я пытаюсь, чтобы изображения отображались на веб-сайте всякий раз, когда пользователь загружает его, но они не отображаются, когда DEBUG=False. Сайт успешно развернут на Heroku. Я тоже использую Whitenoise и Gunicorn.
Вот мои конфигурации:-
settings.py
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_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
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('', include('base.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Procfile
web: gunicorn appname.wsgi --log-file -
requirements.txt
asgiref==3.3.4
astroid==2.5.6
colorama==0.4.4
Django==3.2.4
gunicorn==20.1.0
isort==5.8.0
lazy-object-proxy==1.6.0
mccabe==0.6.1
Pillow==8.2.0
pylint==2.8.3
pytz==2021.1
sqlparse==0.4.1
toml==0.10.2
whitenoise==5.2.0
wrapt==1.12.1