0

できるようになりたい

  1. すべての js/css を単一の縮小ファイルにコンパイルdjango-compressorします。
  2. 組み込みおよび継承されたテンプレートから js/css ファイルを追加できます。

私がしようとすると:

{% compress css file %}
{% render_block "css" %}
{% endcompress %}

エラーが発生します:Invalid block tag: 'endcompress'

しかし、主な原因はセキザイのドキュメントにあると思います:

{% render_block %}{% block %}...{% endblock %}タグは、テンプレート タグ ブロック (またはなどの終了タグを持つテンプレート タグ) 内に配置してはなりません{% if %}...{% endif %}

私は何か間違ったことをしましたか、それとも別の方法がありますか?

4

1 に答える 1

1

django-compressor は明示的にこの対話を提供しているようですが、render_block中に入れてはいませんcompress/endcompress:

{% load sekizai_tags %}
{% render_block "<js/css>" postprocessor "compressor.contrib.sekizai.compress" %}

実際、{% compress %}タグはここでは使用されていません。

<head>
...
<!-- css -->
{% render_block "css" postprocessor "compressor.contrib.sekizai.compress" %}
{% block css %}{% endblock %}
<!-- end js -->
...
</head>

... then in another template ...

{% block css %}
{% addtoblock "css" %}
    {{ form.media.css }}
    <link rel="stylesheet" type="text/css" href="..." />
{% endaddtoblock %}
{% endblock %}

block cssブロックを入れるためだけに使用しますaddtoblock。そうしないと機能しません(同じテンプレートファイルにない限り):

タグが拡張テンプレートで使用される場合、{% addtoblock %}タグはタグ内に配置する必要があり{% block %}...{% endblock %}ます。

于 2015-06-08T08:51:26.890 に答える