2016-08-08 5 views
0

Изображение, загруженное пользователем, не отображается, хотя я не ошибался в шаблоне. Также я определил MEDIA_URL и MEDIA_ROOT. Что может быть причиной того, что изображение не отображается?Загружено изображение не отображается

Код

image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True) 

проект/urls.py (urls.py основного проекта)

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

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('shop.urls', namespace='shop')), 
] 

if settings.DEBUG: 
    urlpatterns += static(settings.MEDIA_URL, 
          document_root=settings.MEDIA_ROOT) 

Settings.py

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

шаблоны/магазин/продукт/list.html

<a href="{{ product.get_absolute_url }}"> 
     <img src="{% if product.image %} {{ product.image.url }} {% else %} {% static 'img/no_image.png' %} {% endif %}" > 
</a> 

Я знаю, что этот вопрос задан несколько раз, но мой код занял после документации и все еще я не мог отображать изображение. Может ли кто-нибудь помочь мне, пожалуйста?

+0

Во-первых, изображение загружено в нужную папку? – Wtower

+0

@Wtower да есть. – pythonBeginner

+0

i get 404 error \t http: // localhost: 8000/media/products/2016/08/08/greentea.jpg – pythonBeginner

ответ

0

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