我想捆绑css和javascript文件。我还想向客户端发送远期过期标头,因此我需要文件版本控制。
通过互联网进行的快速搜索显示,为Django开发了几种资产管理器。以下列出了我可以达到的目标:
他们似乎或多或少地执行相同的工作。 django-compress,django-compressor和django-site-assets乍一看似乎特别有前途。如果有人提供任何有助于我们在他们之间做出选择的反馈,我将不胜感激。
答案 0 :(得分:11)
正如您已经注意到的,他们都做了同样的事情(或多或少)。我决定继续django_compressor。
此外,我更喜欢在网络服务器级设置过期标题或动态压缩。恕我直言,这些操作不应由应用程序本身执行,因为有时它可能会导致一些问题,例如在错误页面上设置 Cache-Control 或过期标头等。 mod_expires 模块根据您的需要非常easy to configure。对于使用DEFLATE输出过滤器的即时压缩,我按原样使用了mod_deflate configuration。
答案 1 :(得分:7)
自问这个问题以来,已经创建了新项目。
您可能需要查看django-pipeline,它非常漂亮。
答案 2 :(得分:4)
我一直在使用django-compress,我很满意,特别是因为我可以指定后端压缩器(例如,YUI最适合我的JS)。
我可能会考虑将来切换到django_compressor,但它的优先级太低了。
我还要指出,django-media-bundler有一个功能,其他人没有...自动构建图像精灵。我没有现场使用它,所以我不确定它的实现情况有多好但是非常整洁。您可以将它仅用于精灵,并将css / js保留给其他压缩器之一。
答案 3 :(得分:2)
FWIW,因为djangopluggables.com已不存在,此处还没有人提及:最近的比较是djangopackages.com,其中django_compressor是最常用的一台ATM。虽然杰伊泰勒在他的comment警告,但没有尝试过1.4。
答案 4 :(得分:1)
在我选择 django-compressor 的竞争者中,因为它非常简单易用。只需在模板中放置一个或两个标签(典型场景:一个用于css,另一个用于js),对于大多数情况,您可以在不修改任何内容的情况下完成;你甚至不必声明或修改设置,它的默认设置都很好。