提供与Django中的静态目录不同的文件夹

时间:2014-10-01 06:56:03

标签: python django

我想使用Django提供静态模板,其静态文件路径已经相对于该文件夹进行了定义。

例如。我的目录结构为

olx
--static
--fonts
--olx files
--index.html

我尝试将index.html与静态文件一起提供。在我的index.html我提供了<img src="static/1.jpg"/>等静态文件的路径。如果我直接在我的计算机上打开index.html文件就可以了。

我使用Django部署它如下

url(r'^olx/$', TemplateView.as_view(template_name='olx/index.html'), name='olx'),

托管模板但静态文件未托管。如何托管整个文件夹以使静态文件有效?

我的项目的其余部分设置了STATICFILES_DIRS和STATIC_ROOT,它运行正常。我只需要弄清楚如何托管与主静态目录不同的静态文件。

1 个答案:

答案 0 :(得分:0)

请记住,当您在链接中使用相对路径时,它是解析它们的浏览器 - 它相对于您当前所在的URL,而不是服务器上的文件路径(它不知道任何内容)。如果您在“olx /”处提供模板,那么任何相关链接都将位于“olx / ...”。因此,您可以将Web服务器配置为在该URL上提供相关的静态文件。

说实话,虽然我不知道你为什么要这样做。如果需要,可以使用子目录将所有静态文件放在一个位置(这就是collectstatic将要执行的操作),并在该单个URL下提供它们。