2016-08-08 2 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

@Wower 그렇습니다. – pythonBeginner

+0

404 오류 \t http : // localhost : 8000/media/products/2016/08/08/greentea.jpg가 표시됩니다. – pythonBeginner

답변

0

서버를 새로 다시 시작한 후에 작동합니다. 따라서 위의 코드와 미디어 파일 제공 프로세스가 정확합니다.