我在我的Django項目中成功使用了WhiteNoise。Django WhiteNoise collectstatic反覆後處理CSS文件
我的問題是運行collectstatic
命令時。 WhiteNoise後處理所有我的.css文件,即使它們沒有改變。它不會不必要地後處理.js或.png文件,只有.css文件。
這看起來像是在WhiteNoise中的一個錯誤。有沒有其他人看到過這種行爲?
一個例子:
我第一次跑collectstatic
,所有的文件都是由Django的複製和白噪聲後處理:
Copying '<path...>.svg'
Copying '<path...>.js'
Copying '<path...>.css'
Copying '<path...>.txt'
... etc ...
Post-processed '<path...>.svg'
Post-processed '<path...>.js'
Post-processed '<path...>.css'
Post-processed '<path...>.txt'
... etc ...
77 static files copied to 'C:\<path...>\staticfiles', 77 post-processed.
這是所有工作正常。
但是,如果我立即再次運行collectstatic
(無需修改任何文件),白噪聲後處理再次.css文件:
Post-processed '<path...>.css'
Post-processed '<path...>.css'
... etc ...
0 static files copied to 'C:\<path...>\staticfiles', 77 unmodified, 13 post-processed.
這是我的問題,因爲我在開發中使用白噪聲作爲考慮和生產一樣,以儘量減少我的開發和生產環境之間的差異。 當我更改任何文件時,等待WhiteNoise後處理項目中的每個.css文件(包括任何庫)顯然太多以至於無法提供開發環境。
這感覺就像是一個WhiteNoise中的錯誤,因爲它正確地注意到.js和.svg文件沒有改變,但沒有改變.css文件。 有沒有其他人看到過這種行爲?
非常感謝!我沒有意識到WhiteNoise在調試模式下不需要使用collectstatic,這會大大加快我的調試周期。令人遺憾的是,Django無法確定哪些CSS文件需要重新處理,但對生產版本而言效率並不高,無論如何,這通常都是從乾淨的地方完成的。 –