我通过将以下内容添加到站点 urls.py,让 django 媒体图像在现有的 django 1.7 项目中工作:
urlpatterns = patters(
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
这个 url 结构在 django 1.10 中不起作用,所以我将其更改为此处推荐的Django MEDIA_URL 和 MEDIA_ROOT https://stackoverflow.com/questions/5517950/django-media-url-and-media-root:
urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这无法渲染任何上传的媒体图像。我可以使用 django 1.10 的等效媒体 url 模式吗?
你可以使用这个:
(Django 文档 1.10 在开发过程中提供用户上传的文件 https://docs.djangoproject.com/en/1.10/howto/static-files/)
urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
或者您可以使用它(如果您只想在设置中使用 Debug = True 进行开发):Django 文档 1.10 在开发中提供文件服务 https://docs.djangoproject.com/en/1.10/ref/views/
if settings.DEBUG:
urlpatterns += [
url(r'^media/(?P<path>.*)$', serve, {
'document_root': settings.MEDIA_ROOT,
}),
]
对我来说{{ MEDIA_URL }}在我的模板文件中不再起作用,我使用了{% get_media_prefix %}:
Ex.:
<img src="{% get_media_prefix %}{{ product.image }}">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)