Невозможно вставить файл изображения в шаблон, загруженный пользователем - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь загрузить загруженное изображение в шаблон. Изображение загружается правильно, и URL-адрес также правильный, но я все еще получаю ошибку 404. Ошибка: - GET http://127.0.0.1:8000/media/complaints_image/motivational-inspirational-quotes-30.jpg 404 (не найдено)

Изображение присутствует в папке: - внутри изображения папки с мультимедиа присутствует изображение

шаблон

{% if complaint.media %}
 <img src="{{ complaint.media.url }}" height="100px" width="100px" >
{% endif %}

settings.py

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

models.py

class Complaints(models.Model):
  media = models.ImageField(upload_to='complaints_image',blank=True)

forms.py

class ComplaintForm(forms.ModelForm):

class Meta():
    model = Complaint
    fields = ('department','heading','text','media',)

1 Ответ

0 голосов
/ 12 октября 2019

Вы получаете эту ошибку, потому что медиа-файлы не обслуживаются автоматически (по умолчанию).


Если ваш MEDIA_URL определен как '/media/', то вы можете обслуживать свои медиа-файлы, добавивследующий фрагмент к вашему entry-level urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


Чтение Обслуживание файлов, загруженных пользователем во время разработки для получения более подробной информации.


Примечание: этот способфайлов мультимедиа (и статических) не подходит для производственного использования!

Прочтите эту статью , чтобы узнать подробнее о том, что делать с производственным сервером.

...