Django vs web2py是初学者

Rub*_*tor 82 python django web2py

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

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

mdi*_*rro 107

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

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

web2py更紧凑,开箱即用(更多支持的数据库,基于Web的IDE,票务系统,无需补丁的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
Run Code Online (Sandbox Code Playgroud)

我不知道Django中没有的web2py的任何功能.我多次问过这个问题,因为如果有的话,我们想把它添加到web2py,但我还没有收到满意的答案.

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

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

web2py社区非常友好.作为实验,尝试在web2py google组和Django组上提问.

  • +1(我很欣赏web2py允许你直接在你的视图中编写python) (11认同)
  • web2py DAL只是提供了一种编写查询的方法.查询在SQL中转换并发送到返回响应的数据库.web2py不受数据库中有多少记录的影响,也不关心.换句话说,如果我写"db(db.tablename.fieldname <= value).select()"web2py不会检索所有记录并逐个推断它们的条件.如果要查询数据库"SELECT*FROM TABLENAME WHERE FIELDNAME ='1'". (4认同)

key*_*its 23

Django和web2py都是出色的"全栈"Web框架,具有类似的特性和功能 - 作为任何一个框架的初学者,你都不会"错过".

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

话虽如此,web2py的初始学习曲线比Django低,因为它是专门设计的学习工具.所以我说你做了个不错的选择.没有任何学习浪费,如果你决定将来需要别的东西,你将使用web2py学到的好技术不会浪费.

尽管Django有更多的学习资源,因为它已经存在更长时间并且拥有更多用户,因此学习web2py也很快,因为它具有出色的书籍,并且对用户组的问题几乎是即时响应.

如果你想找一份工作,那就有更多的Django工作,这可能是一个因素.话虽如此,web2py社区最近已经设立了expert4solutions,您可以在将来提升您的技能和可用性.

玩得开心!

  • 有趣的是听到 - 我处于类似的位置,因为我将为自己工作,因此选择我自己的框架,我选择了web2py并且到目前为止很开心. (2认同)

use*_*985 10

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


sae*_*gnu 6

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

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

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

  • 实际上我有时候会发现Web2Py相反,很复杂 - 这与"_complex比复杂_更好"相反.向后兼容性,重复名称,各种文件的隐式执行,遍布各处的全局变量 - 所有这些问题导致Python框架违背了Python的理念. (9认同)