我在使用sass
Django
与django_compressor
集成时出现问题
以下是导致的错误:
UncompressableFileError at /
'sass/example.scss' isn't accessible via COMPRESS_URL ('static') and can't be compressed
从模板中,这会导致上述错误 -
{% load compressor %}
{% compress css inline %}
<link rel="stylesheet" type="text/x-sass" href="sass/example.scss"/>
{% endcompress %}
有趣的是,如果我这样做内联sass样式,压缩就会起作用,这让我想知道这个问题是否与我如何链接资源有关。
内联有效 -
{% load compressor %}
{% compress css inline %}
<style type="text/x-sass">
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
background: red;
}
</style>
{% endcompress %}
这里似乎有什么问题?
这些是我的设置 -
COMPRESS_ROOT = STATIC_ROOT
COMPRESS_URL = STATIC_URL
COMPRESS_ENABLED = True
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/x-sass', 'sass {infile} {outfile}'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)
我认为问题在于我不确定如何设置href
的值?我想使用{{ static <foo> }}
,但它返回相同的错误。我了解要包含您需要使用COMPRESS_OFFLINE_CONTEXT
的变量,但不知道如何操作。
答案 0 :(得分:0)
这可能是由于sass
文件中存在语法错误。如果这是一个单独的文件,你确定所有mixin都可以访问吗?您还可以在您尝试压缩的文件中对大部分代码进行注释,以查看简单的最小文件是否正确压缩。