0

関連するすべてのタグ(つまり、スクリプト、スタイル、リンクrel = stylesheet)をdjango_compressorタグで自動的にラップする方法はありますか?

4

1 に答える 1

4

編集: Chris Pratt のコメントに合わせて更新。ありがとうクリス。

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 をこれらのブロックにシャッフルできます (それらを必要とするテンプレートに保持したまま)。

于 2012-05-24T14:41:22.330 に答える