웹사이트 로딩 속도를 높이려면 일반적으로 더 많은 js와 css를 압축해야 합니다. 이러한 js 및 css 압축 작업을 모두 수동으로 처리하면 시간이 많이 걸리고 힘든 작업이 됩니다.
Django Compressor는 js/css의 자동 압축을 실현할 수 있습니다. Django Compressor는 사용 편의성 측면에서 매우 훌륭하며 설명서에 따라 간단한 설정만 하면 정상적으로 작동할 수 있습니다. 모든 사람이 문서 전체를 읽는 것이 좋습니다(문서는 매우 짧습니다).
사용시 압축태그에 css/js만 넣어주시면 Django Compressor가 자동으로 처리해줍니다. 디버그 모드에서 Django Compressor는 아무 작업도 수행하지 않습니다. 비디버그 모드에서 Django Compressor는 자동으로 js/css를 압축하고 압축된 문제를 Django의 STATIC_ROOT 디렉터리에 출력합니다. 따라서 STATIC_ROOT 디렉토리가 올바르게 설정되어 있는지 확인하십시오.
{% 로드 압축 %}
{% 압축
<인라인 또는 링크된 JS/CSS의 HTML> ;
{% endcompress %}
{% CSS 압축 %}
endcompress %}
coffeescript, less 지원
개발 단계에서 Coffeescript 및 less는 js를 사용하여 직접 처리할 수 있으며, 공식적으로 출시되면 js 및 css로 미리 컴파일해야 합니다. 로딩 속도 때문에요. Django Compressor는 유형에 따라 전처리를 수행하기 위해 COMPRESS_PRECOMPILERS 설정을 제공합니다.
COMPRESS_PRECOMPIILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}') ,
('text/x-sass', 'sass {infile} {outfile}'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)
개발 단계에서 커피스크립트 등을 덜 일반적으로 사용하려면 개발 단계에서 해당 js 파일을 도입해야 하며, 비개발 환경에서는 자동으로 닫혀야 합니다. 아쉽게도 Django Compressor는 관련 설정을 제공하지 않습니다. 이를 위해 템플릿에서 django 설정을 가져오는 tagget_setting을 작성했습니다. 이 태그는 내 다른 프로젝트인 django-helper에 포함되어 있습니다.
{% get_setting "COMPRESS_ENABLED" "" "COMPRESS_ENABLED" %}
{% if not COMPRESS_ENABLED %}
{% endif %}