我已经在现有的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的等效媒体网址模式吗?
答案 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 }}">