使用gzip服务javascrip的Django压缩器

2024-09-28 05:41:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试从amazons3提供gzip文件。 这是我的设置.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。我可以在aws3上看到.css文件有内容编码:gzip和*.js没有?在


Tags: 文件awstrueurlbucketstoragecompressorcompress
1条回答
网友
1楼 · 发布于 2024-09-28 05:41:37

我遇到了同样的问题,通过将text/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-compressor似乎跳过了具有此内容类型的压缩.JS文件的GZIP。在

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

相关问题 更多 >

    热门问题