Django vs web2py是初学者

时间:2010-12-04 07:11:07

标签: python django web2py

这两个框架中的哪一个更适合具有11个月经验的开发人员。我决定学习python用于我的服务器端编码,并想知道哪些更适合我技能水平的人。我刚刚花了几天时间玩web2py并且非常喜欢它,我想知道Django是否提供了我错过的更多内容?

PS。更新:感谢大家的精彩输入,在购买了三本django书籍并经历了django和web2py的一些小项目/教程之后,我已经确定了web2py。这是一个很棒的框架,这使得web开发对于newbe来说真的很有趣。我会建议所有新手学习这个框架,因为它将来会成为主流。 Django也是一个很棒的框架,但web2py在我有限的经验意见中更好。

4 个答案:

答案 0 :(得分:106)

(免责声明:我是web2py的项目负责人)

Django比web2py长了大约5年,因此它有更多的用户和更多的应用程序来展示。 Django有他们所谓的“admin”,它与web2py的“admin”不同,但更像是web2py的“appadmin”。 Django的“管理员”比web2py的“appadmin”更好,更可定制。 Django没有相当于web2py的“admin”。 (抱歉名称混乱)。

web2py更紧凑,开箱即用(更多支持的数据库,基于Web的IDE,票务系统,无GAE的GAE运行,多种登录方式,基于角色的访问控制,基于Web的翻译界面,支持多种功能)数据库连接,分布式事务等)。

对我来说,web2py最重要的功能是自动迁移。 Django没有开箱即用。

对于web2py,长期向后兼容性是主要目标,同时也是安全性。 Django在安全性方面与web2py相当(除了web2py之前在模板中有CSRF预防和默认转义)但是当1.0发布时,Django破坏了向后兼容性。自2007年10月以来,web2py从未这样做过。

对我而言,web2py语法更自然:

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

我不知道Django中没有的web2py的任何功能。我已多次提出这个问题,因为如果有的话,我们想将它添加到web2py,但我还没有得到满意的答案。

当然,有些事情我们都做但不同。 Django遵循“明确胜过隐性”。 web2py不会,而是“一切都应该有默认行为”。我相信这使得web2py代码和配置更加紧凑。

无论如何,无论你选择什么,它们都是良好的可靠网页框架,并且相似性低于差异。 Django的开发人员非常聪明。

web2py社区非常友好。作为一项实验,请尝试在web2py google群组和Django群组上提问。

答案 1 :(得分:23)

Django和web2py都是具有类似特性和功能的优秀“全栈”Web框架 - 作为这两种框架的初学者,你不会“错过”。

如果不了解您想要学习的内容,就很难回答您的问题。有些人会说有学习框架而不是语言的危险,所以最好先深入了解Python语言和更轻量级的框架(例如Flaskwekzeug)。

话虽如此,web2py的初始学习曲线比Django低specifically designed as a learning tool。所以我说你做了个不错的选择。没有任何学习浪费,如果你决定将来需要别的东西,你将使用web2py学到的好技术不会浪费。

虽然Django有更多的学习资源,因为它的使用时间更长,用户也更多,但学习web2py的速度也很快,因为book提出了很好的user group和几乎即时的回复问题

如果你想找一份工作,那么Django的工作就会更多,这可能是一个因素。话虽如此,web2py社区最近设置了experts4solutions,您可以在那里提升您的技能和可用性。

玩得开心!

答案 2 :(得分:10)

我是Web2py和DJango的完整菜鸟,但我想要一个pythonic的web框架,可以学习并创建一个简单数据库的前端。我看了web2py,但找不到任何体面的教程,针对完整的新手,当我确实安装了web2py时,这非常简单,我不知道下一步该做什么,似乎没有教程指导我如何构建一个简单的Web应用程序,(不仅仅是hello world)。另一方面,DJango做了Writing your first DJango App Part 1。这非常好,给新手介绍了如何设置和安装。通过编写一个简单的Web应用程序来使用框架。在Web2Py提供此功能之前,我的投票将转到DJango。

答案 3 :(得分:6)

用许多词来说:(据我所知)

Web2py肯定更容易,使代码更简单,更清晰。但Django让您更好地了解最新情况,以及修改设计/流程的更多权力。

Web2py更关注“简单比复杂更好”,但Django更关注“显性优于隐性”。禅宗的两个部分,所以很难说哪个框架更像Pythonic。