有没有办法用 django_compressor 标签自动包装所有相关标签(即脚本、样式、链接 rel=stylesheet)?
问问题
498 次
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 回答