heroku上的Django css和js文件gzip压缩

2024-05-16 18:58:41 发布

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

我试图压缩css和js文件并作为gzip文件使用,但是没有成功。在

我试过所有的方法,django管道,django压缩机等

我让django compressor创建gzip文件,但我不确定如何为它们提供服务。我使用GzipMiddleaware来压缩和服务我的html文件。在

有谁可以请写一步一步的指南如何gzip和如何在herokudjango上提供静态文件。在

很抱歉要求详细的步骤,我不是要求被勺子喂,而是被这个问题困扰了将近24小时,尝试了n个解决方案,但似乎没有一个是有效的。在

仅供参考,我使用的是django-1.5

提前谢谢你的帮助


Tags: 文件django方法管道htmljs指南静态
2条回答

您应该认真考虑将静态文件上传到s3。Django确实不适合提供文件,它将消耗应用服务器上宝贵的资源。在

下面是一些将s3用于静态文件的重要原因。http://blog.doismellburning.co.uk/2012/07/14/using-amazon-s3-to-host-your-django-static-files/

这里有一篇文章解释了如何让S3为gzip资源提供服务:http://www.jamiebegin.com/serving-compressed-gzipped-static-files-from-amazon-s3-or-cloudfront/

这是一个存储后端,它将收集到s3。在

您可能很容易编写一个存储后端,gzip通过子类化这个后端和django compressor的后端上传到s3。在

我也有同样的问题。我使用的是咕噜,但发现有很多额外的配置等,然后我找到了django压缩机,这是了不起的!在

但我部署到Heroku,它不gzip任何东西,而是依赖于应用程序来完成。在

我找不到任何提供预压缩gzip文件的wsgi包装器,所以我扩展了dj static来为我做这件事。看看我的dj静态分叉,其中包括添加。基本上,它将检查以.gz结尾的对应静态文件名,如果找到它,它将为其提供服务。我把这个用于我的Heroku项目。在

https://github.com/hdickson/dj-static

要在您的dev服务器上测试(如果您运行的是django内置的web服务器),请确保使用nostatic命令行开关来运行它。ie python管理.pyrunserver 0.0.0.0:80通知

相关问题 更多 >