天天看點

django cms簡介

前段時間,在準備做個首頁。我在web開發方面算是新手,沒什麼經驗。google查了些資料,感覺用cms來做網站是一個不錯的方案。php就有很多cms被大肆應用。于是花了些時間了解python下的cms。

python中,目前最熱的架構是django,自然在其上面的應用也是最多的。google了一輪,找到的cms系統大部分是用django建構。先列舉一下:

  1. django-cms
  2. PyLucid
  3. ella
  4. django-blocks
  5. The Open Church
  6. feincms
  7. django-page-cms:像django-cms,這兩個是不是有些關系。首頁上有demo和管理端示範。
  8. ddtcms:國人開發的
  9. drupy:用python實作的Drupal,好像沒更新啦。
  10. skeletonz:非django的,停止開發啦。

将要開源的:

  1. messagecms:首頁做得很漂亮,期待。
  2. gondolacms:首頁上有視訊,看起來好像挺不錯的,期待。

商業的:

  1. webcubecms

簡介:

  1. ella:一直在更新中,首頁說暫時不建議做項目。裝了運作,ella基本不怎麼使用原始的admin,自己新搞了個newadmin,功能強大,以對象釋出的概念去編輯對象,設定對象釋出。整個cms系統內建了定制的cache功能,性能應該不錯吧?
  2. PyLucid:像是一個蠻成熟的項目。cms管理也不使用原始的admin,直接在目前頁面上增加管理功能,頁面的編輯、新增和删除等操作比較友善。使用django tag擴充頁面内容。特色是基本所有web開發用到的基礎元素,都可以直接在頁面上編輯,如css、模闆等。內建自己的cache。
  3. django-cms:對這個了解最深入。其重點突出頁面内容的擴充(擴充包清單,允許開發者上傳自己實作的擴充)和與其它web子產品的結合。頁面管理使用django的admin,擴充了它的功能,友善頁面編輯、新增、删除,實作頁面樹拖動等。支援草稿功能,使用django_reversion來實作版本管理功能。喜歡這個cms系統的原因是,概念清晰:
    • 對于需要由cms系統制作的頁面,提供了強大的頁面内容擴充功能:内容插件系統擴充内容,自定義頁面模闆實作頁面設計和布局,随意設定插件區并admin提供編輯支援。這些插件在admin裡能render顯示出效果,能根據開發者要求編輯參數,相比django的tag擴充形象多啦,對于使用者更友好。舉例,如首頁右邊欄需要顯示最新的新聞清單,先開發或使用現成的新聞子產品,再針對該子產品開發django-cms的新聞清單插件;編輯首頁模闆,增加右邊欄插件區;在admin裡面,編輯首頁,會看到右邊欄插件區,在該區增加新聞清單插件。
    • 對于動态的頁面,可以使用其他子產品來實作,django-cms為其他子產品提供了簡單友善的結合功能:友善的合并其他子產品的url,為某一其他子產品配置設定一個頁面對象。其他子產品的url映射可以很友善的出現在cms系統中;它的模闆也可以繼承至cms的模闆,cms模闆中相關的頁面菜單、目前頁面對象等都能被繼承。