4

django-staticfiles-1.2.1 および django-pipeline-1.2.6 で django-1.3 を使用しています。このセットアップはドキュメントに従って動作するはずです。

私のプロジェクトのルートには、sass ファイルを含むディレクトリstaticfilesを含むディレクトリがあります。sassdjango-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-1.3 に移行された場合、なぜ django-staticfiles に固執する必要があるのか​​ わかりませんか?

4

2 に答える 2

0

SASS コンパイラは、sass ファイルの拡張子が.scss. SASS が別の拡張機能/構文を追加したようです。パイプラインの次のバージョンで修正される予定です。

staticfiles ストレージも次のように変更することを忘れないでください:

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
于 2012-05-20T11:03:34.183 に答える