Django压缩器不再生成压缩的CSS

我正在开发Django Compressor,正在开发一组css文件。 我首先将{%compress%}标签放在一个文件中,生成f6527e81a37c.css。 然后我在两个标签之间加入了两个css文件,但不是一个缩小的文件,而是两个缩小的文件:f6527e81a37c.css和ee906624f953.css。

最后,我想将所有的CSS块压缩并压缩成一个缩小的文件,但将更多文件移动到压缩标记似乎不会重新生成与css文件相关联的键,即它仍然压缩为多个css文件即使它们被封装在同一个{%compress%}块中。

我尝试清除Django的内存缓存,删除Compressor生成的/ static / CACHE /目录,并使用Django Compressor附带的compress管理命令,但是当我运行开发环境时仍然收到多个压缩的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'
]

设置相同的media属性,所有的CSS声明将有所帮助。

结果如下所示:

<link rel="stylesheet" href="/static/CACHE/css/f6527e81a37c.css" type="text/css" media="all" />

我找到了我的答案:

Django Compressor正在将css文件打破在其属性中包含media =“screen,projection”的那些文件,而那些不包含media的“

感谢您的回应。


这就是Django Compressor的工作原理。 每次改变一个新的CSS文件生成和使用。 旧的不会被删除。

只需删除CACHE目录中的所有css文件并重新加载页面即可。 之后将只有一个。

链接地址: http://www.djcxy.com/p/71085.html

上一篇: Django Compressor Not Regenerating Compressed CSS

下一篇: django compressor and clevercss with absolute url paths