Шаблон Django не отображает ImageField

У меня есть модель, где есть ImageField, но в шаблоне не появляется. Загрузка изображения в порядке (в media_root/one/image.jpg)

Settings.py:

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

Urls.py

(...)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()

Models.py

class myModel1(models.Model):
__(...)
__image = models.ImageField(upload_to='one', default="")
__(...)

И на моем шаблоне я делаю это:

 <img src="{{ myModel1.image.url }}" alt="{{ myModel1.name }} image" />

А по HTML выглядит так:

 (...)**src="/media/one/photo_p33Mo8a.jpg"**(...)

Но изображение не отображается

ошибка 404 не найдено:

 GET http://localhost:8000/media/one/photo_p33Mo8a.jpg 404 (NOT FOUND)

Кто-нибудь может мне помочь?

PD: Извините, мое первое время написано на stackOverFlow.

Имейте в виду, что в media_root/one/появляется изображение, но папка/носитель/по-прежнему пуста.

СТРУКТУРА ПАПКИ: Proyect:
___app_folder
________СМИ
________ models.py....
___media_root
________один
____________ image.jpg
___ (настройки Главная папка, URLs..)
___ static_root (...)

0
источник поделиться
1 ответ

Попытайтесь в своей трепете:

<img src="{{ MEDIA_URL }}{{ myModel1.image }}" alt="{{ myModel1.name }} image" />

*РЕДАКТИРОВАТЬ

Кажется, вам нужно добавить файл urls.py:

from django.conf import settings
from django.views.static import serve

# ... the rest of your URLconf goes here ...

if settings.DEBUG:
    urlpatterns += [
        url(r'^media/(?P<path>.*)$', serve, {
            'document_root': settings.MEDIA_ROOT,
        }),
   ]

Edit2

Путь ROOT_MEDIA должен быть следующим:

MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_root")
+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос