0

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

4

1 回答 1

4

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

利用 base.html 中的模板块来定义 {% extra_js %} 和 {% extra_css %} 块,然后将这些块放入 django-compressor 块中。您可能还希望有 {% extra_js_nocompress %} 和 {% extra_css_nocompress %} 块,用于压缩器内部爆炸的东西(例如 Twitter Bootstrap)

所以,在你的 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 打乱到这些块中(同时仍将它们保留在需要它们的模板中)

于 2012-05-24T14:41:22.330 回答