问题描述
通过在网站urls.py中添加以下内容,我已经在现有的django 1.7项目中使用了django媒体图像:
I have had django media images working in an existing django 1.7 project by adding the following to site urls.py:
urlpatterns = patters(
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
此url结构在django 1.10中不起作用,因此我将其更改为此处推荐的:
This url structure doesn't work in django 1.10 and so I changed it to the reccommended here Django MEDIA_URL and MEDIA_ROOT:
urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
此操作无法渲染任何上传的媒体图像.我可以使用django 1.10的等效媒体网址格式吗?
推荐答案
您可以使用以下方法:( Django docs 1.10在开发过程中为用户上传的文件提供服务)
You can use this:(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在开发中提供文件
OR you can use this (if you only want it in development with the Debug = True in you'r settings): 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%} :
For me the {{ MEDIA_URL }} didn't work anymore in my template file, I used the {% get_media_prefix %}:
例如:
<img src="{% get_media_prefix %}{{ product.image }}">
这篇关于django 1.10媒体图像未显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!