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