Đây là kịch bản:Đường dẫn LESS @import của tôi nên là gì?
Tôi đang chạy Django 1.3.1, sử dụng các tệp tĩnh và máy nén django (mới nhất), trong số những thứ khác, biên dịch tệp LESS.
Tôi có thư mục "nội dung" được nối vào các tệp tĩnh với STATICFILES_DIRS
(đối với tài nguyên tĩnh toàn dự án). Trong thư mục đó tôi có một thư mục "css" và trong đó một tập tin "lib.less" có chứa các biến LESS và mixin.
Vì vậy, đường dẫn vật lý là <project_root>/assets/css/lib.less
và được phục vụ tại /static/css/lib.less
.
Trong một trong các thư mục tĩnh của ứng dụng của tôi, tôi có một tệp LESS khác cần nhập tệp ở trên. Đường dẫn vật lý cho điều đó là <project_root>/myapp/static/myapp/css/file.less
và đường dẫn sẽ được phục vụ tại /static/myapp/css/file.less
.
Suy nghĩ đầu tiên của tôi là:
@import "../../css/lib.less"
(ví dụ: dựa trên URL, đi lên đến cấp độ từ /static/myapp/css
để /static/
, sau đó đi qua xuống /static/css/lib.less
).
Tuy nhiên, điều đó không hiệu quả và tôi đã thử mọi kết hợp URL và đường dẫn vật lý mà tôi có thể nghĩ và tất cả chúng đều cho tôi FilterError
s trong mẫu, do không thể tìm thấy tệp để nhập.
Bất kỳ ai có ý tưởng nào về đường dẫn nhập thực tế phải là gì?
Blah! Tôi nghĩ rằng tôi sẽ phải làm như vậy ... Trình biên dịch dev cục bộ của tôi không nhận thức được các tệp tĩnh của django .. vì vậy ngay cả khi tôi đã sửa đổi quy trình làm việc của mình để thu thập cục bộ, trình biên dịch của tôi sẽ sửa đổi các tệp trong/static/dir. Một chút không may. Bạn đã kết thúc bằng cách sử dụng staticfiles cho tất cả mọi thứ nhưng CSS? –
Tôi đã kết thúc việc chuyển ít tệp của mình sang 'nội dung/ít hơn/sản phẩm.không có' và xóa cấu trúc thư mục ứng dụng. Một ứng dụng với tất cả các tài sản của nó cảm thấy rất sạch sẽ, nó quá xấu nó đã biến mất! –
Có lẽ tôi đang thiếu một cái gì đó, nhưng tại sao không chỉ cấu hình 'lessc' với một vài con đường bao gồm mà làm cho nó, do đó bạn không phải sử dụng những đường dẫn tương đối? Nó có thể không lý tưởng hoặc không gian tên-y, nhưng không phải là giải pháp của bạn. – tmandry