Я использую django-compress для сжатия статических файлов CSS и Javascript моего сайта.Поскольку я обслуживаю статические ресурсы моего сайта через Amazon S3, я также использую django-хранилища для загрузки своих файлов на S3.
Вот моя проблема: я пытаюсь очиститьbase.html
шаблон, который могут наследовать и расширять все другие шаблоны моего сайта.Вот как это выглядит в настоящее время:
{% load compress %}
<html>
<head>
<!-- test -->
{% compress css %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/styles.css" />
{% endcompress %}
{% compress css %}
{% block css %}{% endblock %}
{% endcompress %}
{% compress js %}
{% block js %}{% endblock %}
{% endcompress %}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
Как вы можете видеть, я пытаюсь сделать здесь - позволить моим шаблонам, которые наследуют этот шаблон, переопределить css
иjs
блоков, чтобы они могли определять свои собственные CSS и JavaScript для сжатия.К сожалению, этого не происходит.
Когда я запускаю python manage.py compress
(чтобы django-компрессор анализировал мои шаблоны и генерировал сжатый код javascript и css), он фактически не находит мои включенные файлы css и javascript.
Например, вот шаблон index.html
моего сайта:
{% block css %}
{{ block.super }}
<link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/index.css" />
{% endblock %}
Когда я пытаюсь посетить эту страницу на моем сайте, я получаю сообщение об ошибке, что сжатый файл несуществовать.
Я считаю, что происходит то, что команда python manage.py compress
не проверяет мои шаблоны, которые наследуются от base.html
.И поскольку он не анализирует их, он не генерирует никакого сжатого кода.
Я бы очень хотел, чтобы это работало, потому что единственный найденный мной обходной путь - это добавление * 1030 вручную.* теги в каждом файле шаблона, которые у меня есть.Я просто ненавижу это делать, потому что он повторяет так много кода повсюду: (
Любой совет будет принят с благодарностью.