2011-05-05 64 views

回答

8

最好的辦法是使用django-css,django-compressor的一個分支,它也可以編譯SASS的css。一旦你插入了,你可以像普通一樣使用指南針,susy和blueprint,並且只要它檢測到源文件的更新版本,它們就會由django編譯。

編輯:如果你是一個純Python主機上的如ep.io部署,你將要研究如何輕鬆地將這些建成cleverCSS(純Python SASS & SCSS編譯)

編輯2:

此信息已註明日期。 django-compressor現在是最好的選擇,因爲它內置了預處理功能,它也能夠爲你打包文件;)

+0

謝謝托馬斯... – demet8 2011-05-06 13:07:23

+0

+1爲純python主機提供替代方案:) – patrick 2012-04-12 15:02:33

+2

@patrick此信息已過時。請閱讀最新的編輯。 – Thomas 2012-04-12 16:12:59

28

我們選擇避免​​自動運行sass/compass編譯,相反,只需在開發中使用「compass - watch」,並將Sass和生成的CSS提交到存儲庫。那麼Django項目中根本就沒有特殊的機器;你只需像往常一樣處理CSS文件。

這有幾個優勢,爲我們:

  • 移除移動從我們的部署和生產服務器基礎結構部分的整個附加塊:沒有必要有一個完整的Ruby的疊加,再加上薩斯,指南針,和其他任何我們的生產服務器上所需的寶石。簡化生產服務器是非常好的事情。此外,沒有問題部署到純Python託管。
  • 由於諸如Compass插件gem版本之類的細微差異,一個開發者與另一個開發者或開發與生產之間沒有神祕的細微的顯示不一致。每個人都看到相同的CSS。開發人員的Compass環境之間的差異很快被捕獲,因爲它們立即顯示爲生成的CSS的預提交差異的意外更改。

當然,缺點是將生成的代碼提交到repo中,這通常是不被接受的。儘管如此,我們還沒有看到任何實際問題。沒有人試圖直接編輯生成的CSS;我們都知道我們使用Compass。對我們來說,優勢絕對超過了缺點 - 我們從未有絲毫的誘惑轉向像django-css這樣的集成方法。

+0

作爲設計者/前端開發者也是如此。我完全控制了CSS生成過程,而無需觸摸服務器。我做我的事,承諾它,它會工作。 – 2011-05-09 16:20:00

+0

指南針博客上的擴展答案:http://compass-style.org/blog/2011/05/09/compass-django/ – 2011-05-10 00:39:12

+0

謝謝你們.... – demet8 2011-05-13 23:11:52