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">

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。