2012-06-20 45 views
6

此问题专门针对使用Django Compressor的生产站点。当COMPRESS_OFFLINE = True时,我希望这可以工作,这样我可以在推送到产品之前预先压缩我网站的所有css文件。Django Compressor离线继承

我想,base.html文件中,这样做的这相当于:

{% compress %} 
    {% block css %} 
    {% endblock %} 
{% endcompress %} 

,让所有我的CSS块的扩展底座的文件进行压缩。这主要是为了我不必为我的所有子模板添加{%compress%}标记。

堆栈溢出有几个类似的问题,但是在离线压缩时(即使用Django Compressor的压缩管理命令),我还没有找到这样做的好方法。当COMPRESS_OFFLINE = False时,周围的压缩标记正常工作。有人找到了一种使这项工作脱机的方法吗?

我列出了一些类似的线程,这些线程似乎与非离线解决方案有关。在第二个线程的联系表明,已经有过去的问题,与遗传和Django压缩机脱机工作时,但或许他们已经解决:

Django-compressor and template inheritance

Does django-compressor work with template inheritance?

回答

0

你必须做使用压缩下线为技术工作,但只要你有正确的缓存设置,Django压缩机将不会重新压缩每个请求,除非资源已被改变。

我已经使用这种技术来允许用户使用lesscss来扩展站点主题并使用我们的mixins等。得到工作有点过分,但是(以我目前的经验),配置正确时它是完全稳定的,并且在第一次压缩时不会引入大量的请求延迟。

您可以设置像pingdomblamestella,或new relic服务打各种网页,以确保压缩资产始终处于高速缓存(他们监测的正常运行时间,但这项工作也)