使用{{compress js}}和{{compress css}}包装相关标签

时间:2012-05-24 11:29:45

标签: django django-compressor

有没有办法用django_compressor标签自动包装所有相关标签(即脚本,样式,链接rel =样式表)?

1 个答案:

答案 0 :(得分:3)

编辑:根据Chris Pratt的评论更新。谢谢Chris。

使用base.html中的模板块来定义{%extra_js%}和{%extra_css%}块,然后将这些块放在django-compressor块中。对于压缩机内爆炸的东西(例如Twitter Bootstrap),你可能也想要{%extra_js_nocompress%}和{%extra_css_nocompress%}块

所以,在你的base.html中的某个地方(理想情况下,CSS高位和JS低位):

{% compress css%}
   <link rel="stylesheet" href="{{ STATIC_URL }}foo/bar.css">
   <!-- any other global CSS here too -->
{% endcompress %}

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

{% block extra_css_nocompress %}{% endblock %}



{% compress js%}
   <script type="text/javascript" src="{{ STATIC_URL }}js/waa/baa.js"></script>
   <!-- any other global JS here too -->
{% endcompress %}

{% compress js%}
   {% block extra_js %}{% endblock %}
{% endcompress %}

{% block extra_js_nocompress %}{% endblock %}

然后,在您的模板中,如果模板扩展了base.html,您可以将所有模板内的CSS和JS混合到这些块中(同时仍然将它们保存在需要它们的模板中)