django-pipeline没有编译sass文件
我使用django-1.3与django-staticfiles-1.2.1和django-pipeline-1.2.6 这个设置应该根据文档工作。django-pipeline没有编译sass文件
在我的项目的根目录中,我有一个目录staticfiles
,其中包含一个包含我的sass文件的目录sass
。 我想看看Django的管道编译我的青菜文件,并把他们在/static/css/master.css
这是我的settings.py文件
MEDIA_ROOT = '/home/jonasg/dev/projectX/media/'
STATIC_ROOT = 'static/'
STATIC_URL = '/static/'
PIPELINE=True
PIPELINE_AUTO=True
STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage'
STATICFILES_DIRS = (
'staticfiles',
)
PIPELINE_COMPILERS = (
'pipeline.compilers.sass.SASSCompiler',
)
PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.cssmin.CssminCompressor'
PIPLINE_CSS = {
'base': {
'source_filenames': (
'sass/*.sass'
),
'output_filename': 'css/master.css'
}
}
PIPELINE_COMPILERS = (
'pipeline.compilers.sass.SASSCompiler',
)
PIPELINE_SASS_BINARY='/usr/bin/sass'
STATICFILES_FINDERS = (
'staticfiles.finders.FileSystemFinder',
'staticfiles.finders.AppDirectoriesFinder',
'staticfiles.finders.DefaultStorageFinder'
)
当我运行的提取物./ manage.py collectstatic,/ staticfiles中的所有文件都被复制到/ static,但没有任何内容被编译或缩小。 另外我注意到,这个命令将所有从/媒体并将它们放置在/静态,这不是我期待的行为。
另外,正如你可能已经注意到上面我使用django-staticfiles,这是由Django管道推荐,如果你仍然使用django-1.3。我不明白为什么我应该坚持使用django-staticfiles,如果这个应用程序已经迁移到django-1.3?
SASS编译器期待您的sass文件具有扩展名.scss
。 它看起来像SASS增加了另一个扩展/语法,它将通过固定在下一个版本的管道中。
不要忘记设置staticfiles存储这样太:
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
我修复了我的settings.py,但它并没有真正的帮助。现在,将staticfiles/sass/*。scss文件复制到静态/ sass/*。scss,我期望它可以压缩并创建一个staticfiles/css/master.css文件。 –
看起来您没有正确设置“STATICFILES_STORAGE”,我编辑了我的问题以简明扼要。 – cyberdelia
现在我偶然发现了:ValueError:使用0x9c04fac>处的
我同样的问题见面,这是我的修正, 在你的设置中添加
PIPELINE_STORAGE = 'pipeline.storage.PipelineCachedStorage'
。它至少适用于我。
'PIPLINE_CSS'似乎拼错 – Hersheezy