Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django管道未编译sass文件_Python_Django_Sass - Fatal编程技术网

Python django管道未编译sass文件

Python django管道未编译sass文件,python,django,sass,Python,Django,Sass,我将django-1.3与django-staticfiles-1.2.1和django-pipeline-1.2.6一起使用 此设置应根据文档进行设置 在项目的根目录中,我有一个目录staticfiles,其中包含一个包含我的sass文件的dirsass。 我希望看到django管道编译我的sass文件并将它们放在/static/css/master.css中 这是我的settings.py文件的摘录 MEDIA_ROOT = '/home/jonasg/dev/projectX/media/

我将django-1.3与django-staticfiles-1.2.1和django-pipeline-1.2.6一起使用 此设置应根据文档进行设置

在项目的根目录中,我有一个目录
staticfiles
,其中包含一个包含我的sass文件的dir
sass
。 我希望看到django管道编译我的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静态文件,如果您仍然使用django-1.3,django管道建议使用该文件。如果这个应用程序已经迁移到django-1.3中,我不明白为什么我应该坚持使用django staticfiles?

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

别忘了像这样更改静态文件存储:

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'

我遇到了同样的问题,这是我的解决办法, 加


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

我在settings.py中修复了这个问题,但它并没有真正起到作用。现在staticfiles/sass/*.scss文件被复制到static/sass/*.scss,我希望它在这里压缩并创建一个staticfiles/css/master.css文件。看起来您没有正确设置
staticfiles\u存储
,我把我的问题编辑得很简洁。现在我无意中发现:ValueError:icons/Gear.png文件找不到。而./manage.py findstatic img/icons/Gear.png返回良好,icons/Gear.png找不到文件。该文件位于staticfiles/img/icons/Gear.pngIt表示css文件未正确指向
Gear.png
,并且staticfiles无法打开它。URL应该相对于CSS文件的位置进行声明。管道1.2.7也已发布,现在支持.sass扩展。
PIPLINE\u CSS
似乎拼写错误
PIPELINE_STORAGE = 'pipeline.storage.PipelineCachedStorage'