2012-06-20 11 views
9

私は、cssファイルのブロックで開発中のDjango Compressorを試していました。まず、{%compress%}タグを1つのファイルの周りに置き、f6527e81a37c.cssを生成します。次に、タグ間に2つのCSSファイルを追加しましたが、1つのミニファイルの代わりに、2つのファイルf6527e81a37c.cssとee906624f953.cssが作成されました。Django Compressorは圧縮されたCSSを再生成しません

最後に、そのcssブロックをすべて1つの縮小ファイルに圧縮したいのですが、より多くのファイルを圧縮タグに移動すると、cssファイルに関連付けられたキーは再生成されないように見えます。同じ{%compress%}ブロックにラップされていても、複数のcssファイルにコピーできます。

私はDjangoのmemcacheを消去して、Compressorが生成する/ static/CACHE /ディレクトリを削除し、Django Compressorに付属のcompress managementコマンドを使用しましたが、devを実行すると複数の圧縮されたcssファイルを取得します環境。 Django Compressorが{%compress%}ブロック内のファイルに関連付けられたcssキーを再生成するように、何らかのリフレッシュができますか?コンプレッサーは、以前の圧縮ファイルキーをどこかに保存していなければなりません。

圧縮の結果:

<link rel="stylesheet" href="/static/CACHE/css/f6527e81a37c.css" type="text/css" media="screen, projection" /> 
<link rel="stylesheet" href="/static/CACHE/css/ee906624f953.css" type="text/css" /> 
<link rel="stylesheet" href="/static/CACHE/css/7147db857125.css" type="text/css" media="screen, projection" /> 
<link rel="stylesheet" href="/static/CACHE/css/043e7d82b775.css" type="text/css" /> 

settings.py:

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    #other 
    'compressor.finders.CompressorFinder', 
) 
COMPRESS_ENABLED = True 
COMPRESS_OFFLINE = True 
COMPRESS_CSS_FILTERS = [ 
    #creates absolute urls from relative ones 
    'compressor.filters.css_default.CssAbsoluteFilter', 
    #css minimizer 
    'compressor.filters.cssmin.CSSMinFilter' 
] 
COMPRESS_JS_FILTERS = [ 
    'compressor.filters.jsmin.JSMinFilter' 
] 

答えて

4

私は私の答えを見つけた:

Djangoのコンプレッサーは、その性質とそうでないもののメディアは=「スクリーン、投影」が含まれているものを中心にcssファイルを分割されました。

お返事ありがとうございます。

1

ジャンゴコンプレッサーがどのように動作するかです。変更があるたびに、新しいcssファイルが生成され使用されます。古いものは削除されません。

CACHEディレクトリ内のすべてのcssファイルを削除し、ページをリロードしてください。それ以降は1つしかありません。

7

すべてのCSS宣言に同じmediaプロパティを設定すると役立ちます。

結果のようなものです:

<link rel="stylesheet" href="/static/CACHE/css/f6527e81a37c.css" type="text/css" media="all" /> 
関連する問題