0

我希望能够

  1. 将所有 js/css 编译为单个缩小文件,这就是这样django-compressor做的。
  2. 能够从包含和继承的模板中添加 js/css 文件。

当我尝试:

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

我得到错误:Invalid block tag: 'endcompress'

但我认为主要原因来自sekizai 文档

{% 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 回答