django-pipeline没有编译sass文件

时间:2012-05-20 10:48:14

标签: python django sass

我正在使用django-1.3与django-staticfiles-1.2.1和django-pipeline-1.2.6 此设置应该根据文档。

在我的项目的根目录中,我有一个目录staticfiles,其中包含一个包含我的sass文件的目录sass。 我想看看django-pipeline编译我的sass文件并将它们放在/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中,但没有编译或缩小。 另外我注意到这个命令从/ media获取所有内容并将它们放在/ static中,这不是我期望的行为。

同样你可能已经注意到上面我正在使用django-staticfiles,如果你还在使用django-1.3,这是由django-pipeline推荐的。我不明白为什么我应该坚持使用django-staticfiles如果这个应用程序已经迁移到django-1.3?

2 个答案:

答案 0 :(得分:0)

SASS编译器希望你的sass文件具有扩展名.scss。 看起来SASS已经添加了另一个扩展/语法,它将在下一版本的管道中修复。

不要忘记像这样更改静态文件存储:

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'

答案 1 :(得分:0)

我遇到同样的问题,这是我的修复, 添加

PIPELINE_STORAGE = 'pipeline.storage.PipelineCachedStorage'

在您的设置中。它至少对我有用。