2011-05-01 26 views
12

我是受過培訓的計算機程序員,但已經離開了web開發一段時間。我正在做一些有關各種Python Web開發框架的背景研究。據我所知,Django,Grok/Zope 3和主塔都是很好的固體框架,但在與他們的後臺工作方面沒有多大作用。有人可以向我解釋每種框架在方法上的差異,以及在與其他框架相比較時哪一個更爲明顯?Django與Grok/Zope3與主塔

我的具體使用案例是構建一個基於各種用戶提供的信息向用戶推薦產品的Web應用程序。因此,它將以基本概況,產品偏好等形式的用戶輸入的相當一部分,嘗試建立用戶之間的社交關係。它還需要支持員工將產品上傳到系統中,並帶有標籤功能,然後才能與用戶匹配。

最後一點,Plone的某些部分是否會幫助爲非技術人員提供上傳產品和產品描述的界面? Plone是否容易借用?似乎我不應該重新發明輪子,讓人們可以上傳出售/推薦物品的方式以及一些元數據來描述物品。謝謝您的幫助。

回答

14

根據你的背景和要求,我建議你去的東西,如http://pinaxproject.com/這是基於Django的。

金字塔(繼任主塔)是一個非常低級的框架,你需要要麼選擇庫或編寫所有的應用程序代碼自己。對於有經驗的人來說,這是有道理的,並讓你完全控制你的代碼。但是如果你從頭開始並且不熟悉可用的庫,那麼這是一個障礙。

Django和神交都是高層次的框架,Django的是更受歡迎的選擇。如果你不熟悉但使用對象數據庫或URL遍歷,神交耗費更多的時間去學習。

Plone不適合您的使用案例。這是一個內容管理系統,而不是一般的網絡框架。它所使用的很少的庫可以在不同的上下文中重用,當然也不是它的UI。如果你想爲個性化內容提供引人入勝的用戶體驗,Plone並不適合你 - 這不是它的構建要處理的內容。

聲明:我是Plone和Zope 2/Zope Toolkit的發佈經理,並且使用金字塔而不是Django。

-1

作爲一個Plone用戶,我可以說在Plone中創建內容對象很困難。沒有太多關於如何做的文檔,它很複雜。一些人建議使用UML和專門的Plone產品來使其更容易,但是會引入另一種依賴性。

我提問題,內容對象,因爲你的「產品」(不一樣的一個Plone產品)可能會在Plone中被表示爲這你就需要自己寫的內容對象。

當用戶和編輯人員以新聞文章,新聞稿,照片等形式輸入和批准文本時,Plone是最好的。當這是用例時,有預定義的內容對象用於這樣的事情,因此不需要編寫他們自己。

--Jonathan馬克

+3

這不是很差的文件。最佳做法是將貼碼代碼生成器與ZopeSkel模板一起使用。非常直接。 – 2011-05-06 01:04:09

4

Dolmen project是CMS建立在神交的頂部。非常簡單,但使用它的人很少。如果你使用Grok,你可以重用GUI。

但是正如Hanno所說,Grok比Django學習更費時。 Django的用戶也比Grok多得多。

使用Grok的優勢在於,您幾乎可以從Zope組件體系結構中獲益,而無需編寫ZCML並使用裝飾器代替。

隨着金字塔/塔架,你會得到一個非常簡單的框架,沒有別的。它是一個分離的框架,所以你可以自由使用任何你想要的模板(Mako,Genshi,Jinja,Cheetah),你可以自由選擇sqlalchemy,zodb,mongoDb等,並且你也可以自由選擇url映射方案(遍歷與Django風格映射或兩者的結合)。如果你願意,你也可以在這裏使用ZCA。對於初學者來說,這可能會變得相當混亂或冗長。

Django是一種單一的框架,爲您提供了一種方式來做東西。這就是爲什麼它很容易學習和一個很好的選擇。但是,根據我的經驗,有時你會偏離Django標準,如果不修補一些東西,就無法完成。

而對於Zope3,我建議您下載BlueBream的副本,以及它如何爲您服務。