django-staticfiles-1.2.1 および django-pipeline-1.2.6 で django-1.3 を使用しています。このセットアップはドキュメントに従って動作するはずです。
私のプロジェクトのルートには、sass ファイルを含むディレクトリstaticfiles
を含むディレクトリがあります。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-1.3 に移行された場合、なぜ django-staticfiles に固執する必要があるのか わかりませんか?