在Django上的js / css文件上使用Gzip

时间:2012-05-05 11:52:13

标签: javascript django gzip

我知道最好使用像AWS这样的静态文件,但是我正处于开发阶段,我更喜欢在localhost上安装javascript / css文件。

如果我能让gzip处理我的javascript文件进行测试,那就太棒了。我正在使用默认的gzip中间件,但它只是压缩视图请求。

我的模板如下:

<script src='file.js' type='application/javascript'></script>

对于基于django的服务器,应该存在类似于Nginx的文件类型列表。如何为gzip压缩添加应用程序/ javascript,text / javascript等?

2 个答案:

答案 0 :(得分:2)

你应该阅读GZipMiddleware文档,其中解释了当“Content-Type标题包含javascript或以text /"以外的任何内容开头时,中间件不会压缩响应。

编辑:

要澄清文档所说的内容,如果Content-Type标头值包含javascript或不以text/开头,则不会压缩响应。这意味着text/javascriptapplication/javascript都是无效的回复,因为它们匹配javascript

这些限制是由中间件本身故意强加的,但您仍然可以通过使用gzip_page()装饰器包装静态文件视图处理程序并手动将其添加到URL配置来规避这些限制。

答案 1 :(得分:0)

在开发过程中,您使用的是Django内置的Web服务器,这个服务器非常简单,除了./manage.py help runserver

之外没有任何其他选项。

您可以选择设置真实的网络服务器,也可以将staticfiles应用与自定义StaticFilesStorage

一起使用

但老实说,这有点矫枉过正,为什么要测试gzip压缩?