css - Django Compressor 不重新生成压缩的 CSS

标签 css django minify django-compressor

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

最后,我想将所有的 css block 合并并压缩到一个缩小的文件中,但是将更多文件移动到压缩标签中似乎并没有重新生成与 css 文件关联的键,即它仍然压缩成多个 css 文件,即使它们被包装在同一个 {% compress %} block 中。

我尝试过清除Django的memcache,删除Compressor生成的/static/CACHE/目录,使用Django Compressor自带的compress管理命令,但是在运行dev环境的时候还是得到了多个压缩的css文件.我可以进行某种刷新,以便 Django Compressor 重新生成与 {% compress %} block 中的文件关联的 css 键吗? Compressor 必须在某处存储先前压缩文件的 key 。

压缩结果:

<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" />

设置.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'
]

最佳答案

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

结果是这样的:

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

关于css - Django Compressor 不重新生成压缩的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114679/

相关文章:

javascript - Superfish IE7 z-index 错误与 Nivo slider 或 wordpress 中的 Photospace

django - 测试 REST 访问是否必要/好?

python - 如何控制 django REST 框架返回的 JSON 的顺序?

python - 验证 get 请求中的表单,如何?

android 发布 apk 比调试 apk 大

javascript - 缩小后修改缩小后的js文件

javascript - 我怎样才能使 react-create-app 缩小我的代码?

html - css 动画 - 鼠标顺利移出

CSS创建一组具有自动宽度的均匀左边缘的文本

javascript - 将点击事件函数应用于多个元素,包括 if/else