django 1.10媒体图片不显示

时间:2016-09-03 22:18:21

标签: python django django-staticfiles django-media django-1.10

我已经在现有的django 1.7项目中使用django媒体图像,将以下内容添加到网站urls.py:

urlpatterns = patters(
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)

此网址结构在django 1.10中不起作用,因此我将其更改为此处推荐的Django MEDIA_URL and MEDIA_ROOT

urlpatterns = [

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

无法呈现任何上传的媒体图片。我可以使用django 1.10的等效媒体网址模式吗?

1 个答案:

答案 0 :(得分:1)

你可以用这个: (Django docs 1.10 Serving files uploaded by a user during development

urlpatterns = [
   ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

或者你可以使用它(如果你只想在开发时使用你的设置中的Debug = True):Django docs 1.10 Serving files in development

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

对我来说 {{MEDIA_URL}} 在我的模板文件中不再有效,我使用 {%get_media_prefix%}

例如:

<img src="{% get_media_prefix %}{{ product.image }}">