Работает ли django-compressor с наследованием шаблонов?

Я использую django-компрессор для сжатия статических файлов CSS и Javascript моего сайта. Поскольку я обслуживаю статические ресурсы своего сайта через Amazon S3, я также использую хранилища django-для загрузки своих файлов на S3.

Вот моя проблема:Я пытаюсь сделать чистый base.htmlшаблон, который все другие шаблоны моего сайта могут наследовать и расширять. Вот как это выглядит в настоящее время.:

{% load compress %}


 
  
  {% compress css %}
   
  {% endcompress %}

  {% compress css %}
  {% block css %}{% endblock %}
  {% endcompress %}

  {% compress js %}
  {% block js %}{% endblock %}
  {% endcompress %}
 
 
  {% block body %}{% endblock %}
 

Как видите, я пытаюсь сделать здесь, чтобы мои шаблоны, наследующие этот шаблон, переопределяли блоки cssи js, чтобы они могут определять свои собственные css и javascript для сжатия. К сожалению, этого не происходит.

Когда я запускаю python manage.py compress(, чтобы django-compressor проанализировал мои шаблоны и сгенерировал сжатый код javascript и css), он на самом деле не находит включенные файлы css и javascript.

Например, вот шаблон index.htmlмоего сайта.:

{% block css %}
 {{ block.super }}
 
{% endblock %}

Когда я пытаюсь посетить эту страницу на своем сайте, я получаю сообщение об ошибке, говорящее о том, что сжатый файл не существует.

Я считаю, что происходит то, что команда python manage.py compressне проверяет мои шаблоны, унаследованные от base.html. И поскольку он их не анализирует, он не генерирует никакого сжатого кода.

Мне бы очень хотелось, чтобы это работало, потому что единственный обходной путь, который я нашел до сих пор, — это вручную добавлять теги {% compress %}...{% endcompress %}в каждый отдельный файл шаблона, который у меня есть. Я просто ненавижу это делать, так как везде повторяется так много кода:(

Будем очень признательны за любой совет.

7
задан rdegges 4 March 2012 в 21:40
поделиться