我有以下情況:我想在開發過程中使用未壓縮的js/css文件(例如調試js),但是在生產中我想自動切換到該文件的縮小版本。Django:在發佈前自動縮小css/js文件
一些簡單的解決辦法是把你的模板:
<script src="some_js.{% if not debug %}min.{% endif %}js"....
但這需要manully提供這樣的文件存在,原來的文件更改後做minifaction manullay。
您如何在您的項目中完成這項工作?有沒有這個工具?
我有以下情況:我想在開發過程中使用未壓縮的js/css文件(例如調試js),但是在生產中我想自動切換到該文件的縮小版本。Django:在發佈前自動縮小css/js文件
一些簡單的解決辦法是把你的模板:
<script src="some_js.{% if not debug %}min.{% endif %}js"....
但這需要manully提供這樣的文件存在,原來的文件更改後做minifaction manullay。
您如何在您的項目中完成這項工作?有沒有這個工具?
你試過http://code.google.com/p/django-compress/?
見http://djangopackages.com/grids/g/asset-managers/可用資產經理的Django的一個相當完整的列表...
如果你已經正在使用Django的壓縮,你應該看看升級到Django的管道,這是一個維護良好的叉子,具有許多新功能。我鼓勵大家誰在使用Django的壓縮切換到Django的管道改爲:* django-pipeline documentation
完美!非常感謝! – dzida 2010-06-17 14:32:03
django-compress已被[django-pipeline](http://django-pipeline.readthedocs.org/en/latest/index.html)取代[http://code.google.com/p/django-compress /) – 2012-01-25 20:46:49
此應用不再維護:-( – 2013-03-29 15:53:06
我一直在使用webassets,到目前爲止,我很滿意。我真正喜歡的是,你仍然可以在你的模板中定義你的CSS和JS文件,而不是在項目配置中。
django-assets有一個新名字:[webassets](https://github.com/miracle2k/webassets) – 2011-07-15 07:46:05
啊,我已經更新了相應的答案 – heyman 2011-07-21 10:44:39
你好heyman :)好久不見。 你還在使用webassets嗎?你對webassets和django-pipeline有什麼看法?難以決定。我可以欣賞模板內聯功能,但Django管道似乎有更好的處理非代碼資產,如圖像和Flash文件。我錯了嗎? webassets是否優雅地處理這些文件類型? – 2013-07-09 13:38:01
我寫this Makefile來縮小和拼接我的JS和CSS文件。這取決於YUI Compressor JAR。 更新文件後,仍然需要運行make
。不過,您可以在服務器啓動和/或重新加載時運行它,或者在SCM上設置提交掛鉤。
當然,您仍然需要{% if not debug %}
,但支付IMO費用很小。
顯示的簡單的用法:
$ make
[css] static/css/first.css
[css] static/css/second.css
[css] static/css/third.css
[css] static/css/and_so_on.css
[tag] @import url("static/css/all.css");
[js] static/js/first.js
[js] static/js/second.js
[js] static/js/third.js
[js] static/js/and_so_on.js
[tag] <script type="text/javascript" src="static/js/all.js"></script>
Done.
Django的壓縮不再被維持。改爲嘗試https://github.com/cyberdelia/django-pipeline。
他們的github賬戶顯示最近的工作。有沒有一個聲明或什麼? – 2013-08-08 19:33:01
剛剛發佈了手表的變化和自動minifies JS目錄的開源項目,自動編譯SASS/SCSS,運行命令行操作等
它在開發過程中在系統上使用python
和pyinotify
運行。
截至2016年底,這些答案大都過時了。
檢查這裏的幾個選項: https://gitlab.com/rosarior/awesome-django#asset-management
目前,django-compressor是一個不錯的選擇,但也有這取決於你想要做什麼的替代品。我相信webpack現在也越來越流行。
https://www.djangopackages.com/grids/g/asset-managers/ – 2013-11-20 05:53:13