Sass Django管道和compass生成一个空css文件
我有个无法解决的问题。我有一个sass模板,如果我手动运行它,它可以很容易地用compass编译,但是使用django管道无法得到相同的结果 我的设置很简单。我有一个公共资产的Sass Django管道和compass生成一个空css文件,sass,compass,django-pipeline,Sass,Compass,Django Pipeline,我有个无法解决的问题。我有一个sass模板,如果我手动运行它,它可以很容易地用compass编译,但是使用django管道无法得到相同的结果 我的设置很简单。我有一个公共资产的assetsdir和一个部署的静态dir STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATIC_URL = '/static/' STATICFILES_DIRS = ( ('assets', os.path.join(BASE_DIR, "assets"))
assets
dir和一个部署的静态dir
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
('assets', os.path.join(BASE_DIR, "assets")),
)
STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder',
)
我的管道设置很简单,只是为了让它工作
PIPELINE_CSS = {
'public': {
'source_filenames': (
'assets/public/sass/scss/style.scss',
),
'output_filename': 'css/style.css',
'extra_context': {'media': 'all',},
},
}
PIPELINE_JS = {
'vendors': {
'source_filenames': (
# created using manage.py (check django-js-reverse)
'assets/public/js/jquery/jquery-2.1.3.js',
....
),
'output_filename': 'js/vendors.js',
},
}
PIPELINE = {
'PIPELINE_ENABLED': True,
'STYLESHEETS': PIPELINE_CSS,
'JAVASCRIPT': PIPELINE_JS,
'SASS_BINARY': '/usr/bin/env compass',
'SASS_ARGUMENS': '--trace',
'JS_COMPRESSOR': None,
'CSS_COMPRESSOR': None,
'DISABLE_WRAPPER': True,
'COMPILERS': (
'pipeline.compilers.sass.SASSCompiler',
),
}
JS可以工作,JS/vendors.JS
但是CSS给了我一个错误:
pipeline.exceptions.CompilerError: ['/usr/bin/env', 'compass', u'/[..]application/static/assets/public/sass/scss/style.scss', u'/[..]application/static/assets/public/sass/scss/style.css'] exit code 1
Command not found: /[..]application/static/assets/public/sass/scss/style.scss
我不明白的是,当我将BASE\u DIR
指向application
并且STATICFILE\u DIRS
正确指向资产时,compass为什么要在application/static/assets
中尝试搜索。JS可以工作,但不是SASS:-(
有什么想法吗?我花了几个小时想办法解决这个问题。我在考虑使用与django管道不同的东西。。。