Django中的Django压缩器和模板标签

时间:2012-06-23 19:25:36

标签: javascript django templates compression django-compressor

最近我尝试过Django-Compressor。它太棒了,我太喜欢了,但是我遇到了离线压缩(COMPRESS_OFFLINE = True)和模板标签的麻烦。

我的JS代码中有{{ django_vars }}{% django_tags %},我猜Google Clousure编译器(我使用Django-Compressor的过滤器)并不知道识别它们。事实上,我认为像{% if something %}这样的Django模板结构已被删除。

如何在压缩后将所有这些模板变量/标记保存在我的代码JS中?

感谢队友。

修改: 最后,我发现了COMPRESS_OFFLINE使用的所有问题,它们都是由于一个错误而发生的。它们不是关于JS代码中的Django语法。当你试图在文件.html中压缩JS代码而不是外部JS时,总会出现这个bug。它失败了所有解析器和所有编译器/压缩器。

现在,虽然我比django-pipeline更喜欢django-compressor,但我还是使用了最后一个。此时,压缩报告没有问题。

感谢所有试图帮助我的人。

1 个答案:

答案 0 :(得分:0)

你试过吗? Django Compressor的JS编译器开始工作 AFTER 模板节点,IMO。因此,在压缩之前,{{ django_vars }}{% django_tags %}已被模板中的输出替换。

如果每个视图/模板更改了{{ django_vars }}{% django_tags %}。它无法压缩到一段代码。您最好将这些部分从主JS代码块移动到JS块并单独压缩它。