python – Django压缩器使用gzip来提供javascript

我正在尝试从amazon s3提供gzip文件.
这是我的settings.py:

AWS_IS_GZIPPED = True
AWS_PRELOAD_MetaDATA = True 
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'elasticbeanstalk-eu-west-1-2051565523'
STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
COMPRESS_OFFLINE = True
COMPRESS_ENABLED = True
COMPRESS_URL = STATIC_URL
COMPRESS_CSS_FILTERS = [
    'compressor.filters.css_default.CssAbsoluteFilter','compressor.filters.cssmin.CSSMinFilter'
]
COMPRESS_JS_FILTERS = [
    'compressor.filters.jsmin.JSMinFilter',]
COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage' 

当我这样做时,django为每个* .js和* .css压缩创建* .gz文件,但奇怪的是只有* .css文件作为gzip提供.我可以在aws s3上看到.css文件content-encoding:gzip而* .js没有.这里发生了什么?

最佳答案
我遇到了同样的问题,并且可以通过将文本/ javascript添加到GZIP_CONTENT_TYPES设置来解决此问题,如下所示:

GZIP_CONTENT_TYPES = (
    'text/css','application/javascript','application/x-javascript','text/javascript'
)

我不知道为什么,但是django-storages == 1.1.8中GZIP_CONTENT_TYPES的认值似乎不包含text / javascript所以似乎django-compress跳过GZIP用于具有此内容类型的压缩.JS文件.

见:http://code.larlet.fr/django-storages/src/e27c8b61ab57e5afaf21cccfee005c980d89480f/storages/backends/s3boto.py?at=default#cl-236

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...