用户上传的图像未显示

时间:2016-08-08 06:14:23

标签: python django django-templates django-1.10

虽然我在模板中没有做错,但是用户上传的图片没有显示。我也定义了MEDIA_URL和MEDIA_ROOT。可能是什么原因导致无法显示图像?

代码

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

project / 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>

我知道这个问题被多次询问,但是我的代码在文档之后仍然无法显示图像。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

在重新启动服务器后,它正在运行。因此,上述提供媒体文件的代码和过程是正确的。