我已按照以下方式配置django-pipeline
:
PIPELINE = {
'PIPELINE_ENABLED': True,
'COMPILERS': (
'pipeline.compilers.sass.SASSCompiler',
),
'STYLESHEETS': {
'common': {
'source_filenames': (
'sass/common/styles.scss',
),
'output_filename': 'css/common/styles.css',
}
}
}
我运行collectstatic
并以调试模式启动服务器以查看是否所有内容都已正确设置。我可以访问我的所有图像和脚本,但不能访问已编译的CSS文件。我的静态设置:
STATIC_ROOT = os.environ.get('DJANGO_STATIC_ROOT', os.path.join(BASE_DIR, '_static'))
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder',
)
更多观察结果:
django.views.static.serve
添加了一个断点,我发现它会触发http://127.0.0.1:8000/static/sass/,但不会触发http://127.0.0.1:8000/static/css/或http://127.0.0.1:8000/static/css/common/styles.css。但是,已编译的CSS文件存在于_static/css/common/
中(styles.css
和styles.cba140b2c4b2.css
)。_static/css/
的内容复制到原始应用的static
文件夹中,则CSS会正常呈现。如何让staticfiles
找到已编译的CSS文件?