django-compressor、LESS、相对@import 和相对 url()

Ros*_*ost 5 django less django-compressor

我正在使用 django-compressor + LESS。

@import在 .less 文件中的相对url(../image.png)和包含.less文件中的相对有问题。

我会解释。我有下一个文件夹结构:

common/  # Django app with some common stuff, e.g. common button styles
   static/
     common/
       less/buttons.less
       img/icon.png
blog/
  static/
    blog/
      less/blog_buttons.less
Run Code Online (Sandbox Code Playgroud)

在里面buttons.less我有按钮的 mixin:

.button() {
    color: white;
    padding: 4px 10px;
    background: gray url(../img/icon.png) no-repeat 0 0;
}
Run Code Online (Sandbox Code Playgroud)

在里面blog_buttons.less我使用这个mixin:

@import "../../../../common/static/common/less/buttons";

.blog_button {
    .button;
    background-color: orange;
}
Run Code Online (Sandbox Code Playgroud)

这是问题所在:

当 django-compress 预编译我的blog_buttons.less- 按钮背景指向/static/blog/img/icon.png(404 Not Found)。但它应该指向/static/common/img/icon.png

难道我做错了什么?(我觉得应该是一种很常见的情况)

Mar*_*ech 0

如果您的静态路径配置正确,您应该能够将两者视为common/staticblog/static一个文件夹。您的导入语句应该如下所示:

@import "../../common/less/buttons";
Run Code Online (Sandbox Code Playgroud)