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