2010-12-04 217 views
78

這兩個框架中的哪一個更適合具有11個月經驗的開發人員。我決定爲我的服務器端編碼學習python,並想知道哪些更適合於我的技能水平的人。我剛剛花了幾天玩web2py,真的很喜歡它,我想知道Django是否提供了更多我錯過的東西?Django vs web2py初學者開發者

PS。更新:謝謝大家的精彩輸入,購買三本django書籍並通過django和web2py的一些小項目/教程後,我已經解決了web2py。這是一個非常棒的框架,這使得web開發對於新手來說非常有趣。我會建議所有新手學習這個框架,因爲它將在未來成爲主流。 Django也是一個很好的框架,但是在有限的經驗觀點中,web2py更好。

+0

我想我找到了一個針對web2py的完整新手的教程:[Killer Web Development](http://killer-web-development.com/) – 2012-11-10 07:01:32

+0

看看它是否有幫助http://www.mengu。 net/post/django-vs-web2py – 2010-12-04 07:14:44

+1

「Web2py可以讓你專注於開發你的應用程序,而Django不會。它希望你做所有的事情。」是的,聽起來像一個非常公正的比較 – user240515 2012-02-11 06:04:50

回答

100

(免責聲明:我是項目負責人的web2py)

的Django已經超過web2py的長5年左右,因此它有更多的用戶和更多應用程序來炫耀。 Django有他們所說的「admin」,它與web2py的「admin」不同,但更像web2py的「appadmin」。 Django的「admin」比web2py的「appadmin」更好,更可定製。 Django沒有相當於web2py的「admin」。 (抱歉名稱混淆)。

web2py更緊湊,功能更強大(支持更多的數據庫,基於Web的IDE,票務系統,在沒有補丁的GAE上運行,多種登錄方式,基於角色的訪問控制,基於Web的翻譯界面,支持多個數據庫連接,分佈式事務等等)。

對我來說,web2py最重要的功能是自動遷移。 Django不提供它們。

對於web2py長期向後兼容性是一個主要目標,與安全性一起。就安全性而言,Django與web2py相當(除了web2py在模板之前在模板中具有CSRF預防和默認轉義),但Django在發佈1.0時打破了向後兼容性。web2py中從來沒有因爲十月2007.

要我web2py的語法是更自然:

db(db.tablename.fieldname <= value).select() # web2py 
Tablename.objects.filter(fieldname__lt=value) # Django 

我不知道的web2py的任何功能,不存在在Django。我多次問過這個問題,因爲如果有的話,我們想把它添加到web2py中,但我還沒有得到滿意的答案。

當然,有些事情我們都做了,但有所不同。 Django遵循「顯式優於隱式」。 web2py不會,而是遵循「一切都應該有一個默認行爲」。我相信這使得web2py代碼和配置更加緊湊。

無論如何,無論你選擇什麼,它們都是非常好的可靠的web框架,並且它們的相似之處都不盡相同。 Django開發人員非常聰明。

web2py社區非常友好。您應該嘗試在web2py google羣組和Django羣組上提問。就像一個實驗一樣。

21

Django和web2py都是具有相似特性和功能的優秀「全棧」web框架 - 您不會像任何框架上的初學者那樣'錯過'。

很難回答你的問題,但又不知道你想要怎樣處理你的學習。有人會說學習框架有危險,而不是語言,所以最好先深入理解Python語言和更輕量級的框架(例如Flaskwekzeug)。

話雖如此,web2py有一個比Django更低的初始學習曲線,因爲它是specifically designed as a learning tool。所以我會說你已經做出了不錯的選擇。沒有學習是永遠浪費的,如果你決定在未來需要別的東西,那麼使用web2py學到的好技術不會浪費。

儘管Django有更多的學習資源,因爲它已經有更長的時間並且有更多的用戶,所以學習web2py也很快,因爲出色的book和對user group問題的即時迴應。

如果您希望找到一份工作,那麼有更多的Django工作,這可能是一個因素。話雖如此,web2py社區最近成立了experts4solutions,您可以在未來提升您的技能和可用性。

玩得開心!

4

在許多話:(我的理解)

web2py的肯定是更方便,使代碼更簡單和更清潔。但是Django可以讓你更好地理解正在發生的事情,並且還可以更好地修改設計/流程。

Web2py更注重「簡單勝於複雜」,但Django更注重「顯式優於隱式」。 Python的Zen的兩個部分,所以很難說哪個框架更加Pythonic。

9

我是一個Web2py和DJango的完全noob,但我想要一個python的web框架來玩,學習和創建一個簡單的數據庫的前端。我看着web2py,但找不到任何體面的教程,針對完整的新手,當我確實安裝了web2py時,這很容易,我不知道下一步該做什麼,似乎沒有任何教程可以引導我如何建立一個簡單的網絡應用程序,(不只是你好世界)。另一方面,DJango做了Writing your first DJango App Part 1。這是非常好的,給新手一個介紹如何通過編寫一個簡單的Web應用程序來設置&使用框架。在Web2Py提供這個服務之前,我的投票將轉到DJango。