django url路径与模板中样式相对路径的问题

static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的url如果存在多个"/"的话(我的是3个以上如:/a/b/c/d),模板中调用到的静态文件将无法获取模板中静态文件的引用:

<link rel="stylesheet" type="text/css" href="../../static/easyui/easyui.css">

这样的话调用静态文件的路径变成/a/static/easyui/easyui.css,导致无法正确的加载这些静态文件,后来想着是不是在django的url匹配的时候再配置一个新的url路径,但是好像行不通,后面又试了好多其他的办法,但是都不行,最后没办法,只能采取最粗暴的解决方式,将模板的调用改为

<link rel="stylesheet" type="text/css" href="../../../static/easyui/easyui.css">

这样的话对于/a/b/c/d是可以正确的显示了,但是对于/a/b这种路径会不会有影响呢?因为这是同一个模板实现,不可能因为这个原因而写两个一模一样的模板,所以就试了下/a/b这种路径对于

<link rel="stylesheet" type="text/css" href="../../../static/easyui/easyui.css">

这样的也是可以正确显示的,既然这样也可以正确显示,那我如果再多添加几个../呢,

<link rel="stylesheet" type="text/css" href="../../../../../../../../../static/easyui/easyui.css">

结果发现这样也是没有问题的。当匹配到相应的文件时,多余的../会被忽略。把这个记录下来,以防以后碰到同样的问题忘了。

 

posted @ 2015-05-06 10:16  不愿相离  阅读(1987)  评论(0编辑  收藏  举报