对于那些感兴趣的人,我正在使用可爱的静态文件集成和less.js运行Django 1.3设置。
我遇到的问题是:
在我的HTML中,我有:
<link rel="stylesheet/less" type="text/css" href="{{ STATIC_URL }}less/style.less">
<script src="{{ STATIC_URL }}js/less.js" type="text/javascript"></script>
在这种情况下,STATIC_URL是/ static / so当处理HTML时,链接分别变为/static/less/style.less和/static/js/less.js.
现在在我的LESS文件中,我有以下(简化)代码:
body {
background: url('../img/bkgnd.png');
}
问题在于,对我来说似乎很愚蠢地处理这个问题,除非我是愚蠢的,但同样可能: - )
将较少的JS文件作为http://localhost:8000/static/js/less.js抓取,然后在http://localhost:8000/static/less/style.less抓取css文件
现在我希望少知道style.less的位置,因此在编译CSS时会在http://localhost:8000/static/less/../img/bkgnd.png寻找背景图片,这显然只是http://localhost:8000/static/img/backgnd.png
相反,它似乎忽略了位置,只是在http://localhost:8000/img/backgnd.png寻找背景图片。
有没有人解释为什么会这样?
我通过设置包含静态网址的javascript变量并将其添加到css文件中的图片网址来添加临时修复。这对于开发来说很好,但是我想在生产中使用lessc来编译代码,并且在我看到的时候,我不会允许我传入javascript变量(这会很好)。
任何帮助将不胜感激,这让我发疯: - )
答案 0 :(得分:2)
它正在查找与您正在查看的文档关系的img文件,而不是与css文件有关。
所以改变你的css:
body {
background: url('/static/img/bkgnd.png');
}