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

int*_*tar 2 django django-templates

在 Django 中,我将图像存储在 site_media 中,如下所示:

/site_media/somepath/image.jpg
Run Code Online (Sandbox Code Playgroud)

已将 urls.py 文件设置为使用以下方法为这些服务器提供服务:

urlpatterns += patterns('',
    (r'^site_media/(?P<path>.*)$', 'staticfiles.views.serve')
)
urlpatterns += patterns('',
    (r'^site_media/(?P<path>.*)$', 'staticfiles.views.serve')
)
Run Code Online (Sandbox Code Playgroud)

那么如何对这些图像之一进行 reverse() 或 {% url %} 调用?

Dom*_*ger 5

使用它可能更容易:

{{ MEDIA_URL }}somepath/image.jpg
Run Code Online (Sandbox Code Playgroud)

假设您已MEDIA_URLsettings.py.

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

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

还有一件事 - 什么是staticfiles.views.serve?Django 有一个用于提供静态文件的内置系统,尽管上面的免责声明仍然适用。

你可能想直接从 Apache/nginx/whatever 提供静态文件。会更快成堆。