|
我正在尝试从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 (编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|