Изображения из базы данных не отображаются в Heroku Django после хостинга
У меня есть несколько изображений в моей базе данных SQLite, которые я буду менять из панели администратора в течение определенного периода времени. Я разместил приложение django на heorku (бесплатный сервис). Все статические изображения отображаются (те, которых нет в базе данных), но загруженные изображения не отображаются. Я загрузил изображения перед развертыванием. Описание для каждого изображения отображается, но само изображение не отображается. Я использую whitenoise и просмотрел множество других ответов, но они не помогли
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_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [
BASE_DIR / "static",
]
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
# STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
if os.getcwd() == '/app':
DEBUG = False
html template:
{% extends 'base/main.html' %}
{% load static %}
{% block content %}
<div class="container">
<div class="row my-5">
{% for image in images %}
<div class="col-sm col-md-4 col-lg-4 col-xl-4 my-3">
<div class="card" >
<img loading='lazy' src="{{image.image.url}}" class="img card-img-top my-2" alt="{{image.title}}">
<div class="card-body">
<p class="card-text">{{image.title}} </p>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock content %}
models.py :
class Gallery(models.Model):
image = models.ImageField(upload_to ='uploads/')
title = models.CharField(max_length=100)
def __str__(self):
return f'{self.title}'
Edit : Я разместил с Github, а не с Heroku CLI.