9

私はcssファイルのブロックで開発中のDjangoCompressorを実験していました。最初に{%compress%}タグを1つのファイルの周りに配置し、f6527e81a37c.cssを生成します。次に、タグの間にさらに2つのcssファイルを含めましたが、1つの縮小ファイルではなく、f6527e81a37c.cssとee906624f953.cssの2つの縮小ファイルになりました。

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

Djangoのmemcacheをクリアし、Compressorが生成する/ static / CACHE /ディレクトリを削除し、Django Compressorに付属のcompressmanagementコマンドを使用しようとしましたが、開発環境を実行すると、まだ複数の圧縮cssファイルを取得しています。Django Compressorが{%compress%}ブロック内のファイルに関連付けられたcssキーを再生成するために実行できる何らかの更新はありますか?Compressorは、以前の圧縮ファイルのキーをどこかに保存している必要があります。

圧縮の結果:

<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

2 に答える 2

7

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

結果は次のようになります。

<link rel="stylesheet" href="/static/CACHE/css/f6527e81a37c.css" type="text/css" media="all" />
于 2012-07-17T08:33:58.380 に答える
4

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

Django Compressor は css ファイルを、プロパティに media="screen, project" を含むものと含まないものに分けていました。

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

于 2012-06-20T17:49:48.937 に答える