我们使用django-compressor
和django.contrib.staticfiles
应用程序,我们在运行django开发服务器和处理SCSS时遇到问题:错误的SCSS文件获取编译。 STATIC_ROOT/app
中的版本正在被发现,而不是app/static中的版本。这样做使编辑的CSS中不反映app/static
中SCSS的编辑。django-compressor在STATIC_ROOT/app中编译SCSS文件而不是app/static
删除STATIC_ROOT/app
中的所有内容解决了该问题,但如果由于某种原因执行collectstatic
,则会引起很多混淆。
有没有办法确保应用程序/静态文件被编译而不是现有的STATIC_ROOT /应用程序文件?
我们使用Django的压缩机1.4和Django 1.6及以下设置在Django配置文件中使用:
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
'compressor.finders.CompressorFinder',
)
COMPRESS_PRECOMPILERS = (
("text/x-scss", 'sass --scss'),
)
STATICFILES_DIRS = [] #default
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
你可以分享你的'STATICFILES_DIRS'和'STATIC_ROOT'设置吗? – richardcornish 2014-11-07 15:53:11
刚用'STATICFILES_DIRS'(这只是默认值)和'STATIC_ROOT'编辑。 – mstringer 2014-11-07 20:31:31
究竟是什么'app'?它是一个Django应用程序,一个Django项目或其他东西? 'app/static'在哪里?它被添加到'INSTALLED_APPS'? – richardcornish 2014-11-07 22:03:56