4

我正在尝试压缩我的 css 和 js 文件并用作 gzip 文件,但没有成功。

我已经尝试了所有方法,django-pipeline、django-compressor 等。

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

任何人都可以编写有关如何在 heroku django 上使用 gzip 和提供静态文件的分步指南。

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

仅供参考,我正在使用 django-1.5

在此先感谢您的帮助

4

2 回答 2

2

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

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

这是一篇解释如何让 S3 提供压缩资源的文章:http ://www.jamiebegin.com/serving-compressed-gzipped-static-files-from-amazon-s3-or-cloudfront/

这是一个将收集静态到 s3 的存储后端。

您可以轻松地编写一个 gzips 的存储后端通过子类化这个后端和 django-compressor 的后端上传到 s3。

于 2013-11-25T13:15:04.557 回答
0

我有完全相同的问题。我正在使用 grunt 但发现有很多额外的配置等等等等然后我发现 django-compressor 太棒了!

但是我部署到 Heroku,它不会压缩任何东西,而是依靠应用程序来完成。

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

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

如果您运行 django 内置 Web 服务器,要在您的开发服务器上进行测试,请务必使用 --nostatic 命令行开关运行它。即 python manage.py runserver 0.0.0.0:80 --nostatic

于 2014-09-19T23:27:20.737 回答