在Django中,我将图像存储在site_media中,如下所示:
/site_media/somepath/image.jpg
urls.py文件已使用以下命令设置为服务器:
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'staticfiles.views.serve')
)
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'staticfiles.views.serve')
)
那么如何对其中一张图片进行reverse()或{%url%}调用呢?
答案 0 :(得分:4)
使用起来可能更容易:
{{ MEDIA_URL }}somepath/image.jpg
假设您已在settings.py
设置MEDIA_URL
设置。
此外,您真的不想在生产环境中通过Django提供静态文件。来自docs:
使用此方法效率低且不安全。不要使用它 在生产环境中。仅用于开发。
还有一件事 - 什么是staticfiles.views.serve
? Django有built in system用于提供静态文件,但上面的免责声明仍适用。
您可能希望直接从Apache / nginx /中提供静态文件。它会变得更快。