我正在做优化,Google建议对图像进行无损压缩,寻找在Django中实现这一点的方法。
这里是他们指定的映像,我认为要有效地实现它,它需要在系统范围内实现,可能需要使用一个中间件类,怀疑以前是否有人这样做过。这是到google分析pagespeedhttps://developers.google.com/speed/pagespeed/insights/?url=www.kenyabuzz.com的链接
优化图像 正确格式化和压缩图像可以节省许多字节的数据。 优化以下图像以将其大小减少627.3KiB(减少74%)。
Losslessly compressing http://www.kenyabuzz.com/media/uploads/clients/kenya_buzz_2.jpg could save 594.3KiB (92% reduction).
Losslessly compressing http://www.kenyabuzz.com/media/uploads/clients/new_tribe_2.jpg could save 25KiB (44% reduction).
Losslessly compressing http://www.kenyabuzz.com/…a/uploads/clients/EthiopianAirlines2.jpg could save 3KiB (22% reduction).
Losslessly compressing http://www.kenyabuzz.com/static/kb/images/Nightlife.Homepage.jpg could save 1.3KiB (2% reduction).
Losslessly compressing http://www.kenyabuzz.com/static/kb/img/social/blog.png could save 1.1KiB (43% reduction).
Losslessly compressing http://www.kenyabuzz.com/static/kb/img/social/twitter.png could save 969B (52% reduction).
Losslessly compressing http://www.kenyabuzz.com/…der-Board---Email-Signature--Neutral.jpg could save 920B (2% reduction).
Losslessly compressing http://www.kenyabuzz.com/static/kb/img/social/youtube.png could save 757B (31% reduction).
不过,我没有这方面的经验,^{} 看起来很全面。它广泛地依赖于外部工具来执行优化,因此可能很难在受限或托管的服务器环境中设置。
除此之外,试试谷歌搜索“python图像优化”。还有一些其他链接表明,基于PIL的解决方案可能是可行的,例如:
您应该尝试Django Easy Thumbnails app,它有一些选项可以添加一个后处理来优化上载的图像:PostProcessor documentation
我在几个项目的生产中使用它。 它工作得很好,图像大小肯定更小,页面加载速度也更快。
首先,日志中的信息是相当误导的,因为不可能使用无损格式将图像压缩92%(除了某些情况,如单色图像、基本几何形状如正方形等)。阅读this answer和this answer了解更多信息。真的,一定要读它们,它们都是很好的答案。
第二,你可以使用有损压缩格式而不损失质量,这种差异是如此微妙,人眼甚至没有注意到。
所以,我从你正在优化的网站下载了一张图片,链接是:http://www.kenyabuzz.com/media/uploads/clients/kenya_buzz_2.jpg
我打开我的Python控制台,写了这样一段话:
这在我的磁盘上创建了一个新图像。下面是两张图片。
原件(655.3kB)
压缩(22.4kB~96%,质量=70)
您可以使用
quality
选项。例如,80
的值将为您提供更好的图像质量,但大小稍大一些。Django中的图像压缩
由于这是一个非常流行的问题,我决定添加一个示例代码来压缩Django中的图像。
此代码适用于Django>;=1.7。
这就是如何在Django模型(或任何地方)中使用上述
compress
函数的方法:基本上就是这样。这是相当基本的代码。您可以只在图像更改时压缩图像,而不是每次保存模型时压缩图像,从而改进代码。
相关问题 更多 >
编程相关推荐