2013-02-12 1 views
4

Я использую django-compressor + LESS.django-compressor, LESS, относительный @import и относительный url()

У меня проблема с относительным @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 

Внутри buttons.less я подмешать для кнопки:

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

Внутри blog_buttons.less я использую этот подмешать:

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

.blog_button { 
    .button; 
    background-color: orange; 
} 

А вот проблема:

когда django-compress предварительно компилирует мои blog_buttons.less - фоновые точки кнопок - /static/blog/img/icon.png (404 не найдено). Но это должно указывать на /static/common/img/icon.png

Я что-то не так? (Я думаю, что это должно быть своего рода очень распространенная ситуация)

ответ

0

Если ваши статические пути настроены правильно, вы должны иметь возможность обрабатывать как common/static, так и blog/static, как если бы они были той же папкой. Ваш оператор импорта должен выглядеть примерно так:

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