をlesscを使用して、私は正しいことをやっているかわからないが、ここで問題があります:ジャンゴ・コンプレッサー:デバッグモードで
- 私は
lessc
プリプロセッサ - の一部で
django-compressor
を使用していますLESSファイルには相対イメージURLがあります。いくつかは、いくつかのサードパーティのライブラリ(例えばブートストラップ)COMPRESS_ENABLED
がTrue
ある場合は、すべてがすべての相対イメージURLが保持されていることを意味する、 - 、
CssAbsoluteFilter
はもう実行されていない正常に動作している - あり、私のもの相対と(彼らは
CACHE
ディレクトリからの相対じゃないので)ので
COMPRESS_ENABLED
が
False
ある
壊れている私は、彼らがから発信するかどうかの相対パスが同じファイルに解決「賢い」のディレクトリ構造を思い付くことができ210ディレクトリまたはLESSファイルディレクトリから取得できますが、これは脆弱な回避策のようです。
通常、LESS + django-compressor
についてはどのように働きますか?
COMPRESS_PRECOMPILERS = (
('text/less', 'path.to.precompilers.LessFilter'),
)
precompilers.py:
from compressor.filters.base import CompilerFilter
from compressor.filters.css_default import CssAbsoluteFilter
class LessFilter(CompilerFilter):
def __init__(self, content, attrs, **kwargs):
super(LessFilter, self).__init__(content, command='lessc {infile} {outfile}', **kwargs)
def input(self, **kwargs):
content = super(LessFilter, self).input(**kwargs)
return CssAbsoluteFilter(content).input(**kwargs)
が、これは
COMPRESS_ENABLED = True
と
False
の両方で動作しますのでご注意ください
私にはdjango_compressorのバグのようです - プリコンパイラは常に呼び出されますが、フィルタは圧縮時にのみ発生します。 – Greg
はい、それはまさに何が起こるかです。バグではなく、文書化されているように動作します。しかし、それは*何が欲しいのではないから、IMHO、私は何かを見逃しているのか、それとも間違っているのか不思議です。 – Ludovic
これは、django_compressor devsによって考慮されていないケースのようです...バグではないにしても間違いなく問題です。あなたはあなたのURLを変換するためのプリコンパイラスクリプトを書こうとしましたか? – Greg