Я использую 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 %}
в каждый отдельный файл шаблона, который у меня есть. Я просто ненавижу это делать, так как везде повторяется так много кода:(
Будем очень признательны за любой совет.