2012-05-20 79 views
4

我使用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?

+0

'PIPLINE_CSS'似乎拼錯 – Hersheezy

回答

0

SASS編譯器期待您的sass文件具有擴展名.scss。 它看起來像SASS增加了另一個擴展/語法,它將通過固定在下一個版本的管道中。

不要忘記設置staticfiles存儲這樣太:

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage' 
+0

我修復了我的settings.py,但它並沒有真正的幫助。現在,將staticfiles/sass/*。scss文件複製到靜態/ sass/*。scss,我期望它可以壓縮並創建一個staticfiles/css/master.css文件。 –

+0

看起來您沒有正確設置「STATICFILES_STORAGE」,我編輯了我的問題以簡明扼要。 – cyberdelia

+0

現在我偶然發現了:ValueError:使用0x9c04fac>處的

0

我同樣的問題見面,這是我的修正, 在你的設置中添加

PIPELINE_STORAGE = 'pipeline.storage.PipelineCachedStorage' 

。它至少適用於我。