Я получаю испорченное изображение в django проекте, но, насколько я уже проверил, код выглядит правильно. Вот код в settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
Я также импортировал параметр media в разделе шаблонов:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.media',
],
},
},
]
Вот код, который я использую в шаблоне.
{% if request.user.profile.picture %}
<img src="{{ request.user.profile.picture.url }}" height="35" class="d-inline-block align-top rounded-circle">
{% else %}
<img src="{% static 'img/default-profile.png' %}" height="35" class="d-inline-block align-top rounded-circle">
{% endif %}
Изображение default-profile.png загружается правильно, но другие изображения профиля - нет, хотя они правильно загружались в папку мультимедиа, а их URL-адреса правильно отображаются в базе данных. Кто-нибудь знает, что я делаю неправильно?
РЕДАКТИРОВАТЬ:
Вывод HTML изображения выглядит следующим образом:
<img src="/media/users/pictures/Foto.jpg" height="35" class="d-inline-block align-top rounded-circle">
Он выглядит правильно при проверке тега sr c, поскольку он сопоставляет MEDIA_URL с valur, который был сохранен в базе данных после него.