Django:如何在静态图像文件的链接上调用“反向”?

时间:2009-09-28 16:13:42

标签: django django-templates

在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%}调用呢?

1 个答案:

答案 0 :(得分:4)

使用起来可能更容易:

{{ MEDIA_URL }}somepath/image.jpg

假设您已在settings.py设置MEDIA_URL设置。

此外,您真的不想在生产环境中通过Django提供静态文件。来自docs

  

使用此方法效率低且不安全。不要使用它   在生产环境中。仅用于开发。

还有一件事 - 什么是staticfiles.views.serve? Django有built in system用于提供静态文件,但上面的免责声明仍适用。

您可能希望直接从Apache / nginx /中提供静态文件。它会变得更快。