Django for web2py开发人员

car*_*ier 13 django web2py

既然我已经对web2py比较熟悉了,我想给Django一个机会.

有哪些主要区别?

什么是开始考虑web2py知识的最有效方法?(它必须有一些python应用程序框架知识,不是吗?)

编辑

此外,如果您同时使用了两者,您能否提供您喜欢的意见和原因?

mdi*_*rro 27

web2py非常受Django的启发,如果你知道一个,那么另一个很容易学习.我们添加了一些我们在Django中找不到的功能,包括:数据库迁移(自动更改表),错误票证,基于Web的IDE,适用于Google App Engine的数据库抽象层,基于角色的访问控制机制,可插入登录模块.

其中一个基本的设计差异是Django应用程序是作为模块实现的,因此您需要在编辑它们时重新启动服务器.在web2py中,模型/视图/控制器不是模块,它们由框架执行(不导入),因此您无需在更改时重新启动服务器.

另一个区别是Django使用ORM,web2py使用DAL.DAL略低于Django ORM,这使得它更接近SQL语法(例如允许左连接,任意聚合,嵌套选择及其组合),同时保持可移植性(我们支持10个不同的数据库).DAL还可以轻松地对模型进行动态元编程(例如,根据存储在文件中的规范(如XML或CSV文件)在运行时创建模型).

Django已经存在了很长时间,所以你会发现更多人熟练掌握并部署更多应用程序.

  • 更改代码时,无需重新启动Django服务器(http://www.djangoproject.com/weblog/2005/jul/20/autoreload/).看起来自2005年中期以来一直如此. (4认同)
  • 不,如果您使用Django服务器但是 - 如果我没有记错 - 如果您使用Apache + mod_wsgi或mod_python运行Django,则需要重新启动Apache.在web2py中,即使您不使用内置服务器,也无需重新启动Web服务器. (2认同)

wat*_*atr 13

Django =旧的Web2py = new

Django做的任何事情,web2py做得更好.这是因为web2py是在django之后很长时间制作的,并且从Django的错误中吸取了教训,尽管它会犯下所有新的错误;)

主要区别,是什么让我在web2py:

  1. Django有令人难以置信的文档...... web2py是如此直观,它不需要那么多...... 但是!我发现Django文档大部分适用于web2py.如果你花一天时间阅读django书(第1-7章),你就会明白这是怎么回事.所以在某种程度上,说Django更好地记录是asinine.另外,请注意任何框架都在谈论它的文档量作为一件好事...关注...文档是好的,不需要任何开始=更好.Web2py的现有文档不仅满足了90%的用户需求.剩下的10%必须去看看框架库代码(不像Django那么多,而不是那么可怕).此外,如果你花费超过30%的时间来完成图书馆代码,那么现在是时候摆脱框架并转向图书馆的集合(例如铁塔).那时它意味着你没有做任何Web框架旨在处理的事情......

  2. Django中的SQLForm是TextModel.使用TextModel(= SQLForm)创建表单后.祝你好运改变单个输入字段的CSS!在web2py中你只需要执行form.element(),在Django中没有这样的东西.你必须通过"widget()",但要获得小部件,你必须首先浏览输入字段类型等...

  3. 此外,手动数据库迁移...更改架构?抱歉......必须下载并安装单独的迁移应用程序(南),或者必须在数据库控制台中手动执行.

  4. 最后,没有开箱即用的支持多个DB ...想想箍......

换句话说......与Django ...希望你喜欢跳跃和篮球.

如果你想真正从web2py跳出来,试试Pylons ......认真......

web2py的最大缺点是它的年龄和较小的代码库......这并不是不合理的,考虑到Django就像第一个实现RAILS风格的RAD思想的python web框架,就像web2py的两倍.Web2py仍然处于其生命的早期采用者阶段......我预测,Django正处于超越临界质量部分的下降...... web2py应该在未来两年内达到任何一天的临界质量.

结论 花一天时间,阅读django书(第1-7章),阅读Pylons书(第1部分),然后思考为什么要使用框架开始.对我来说,尽可能快地完成尽可能多的工作,并且没有30%的时间查找文档.

Web2py满足了我的上述需求.


Cal*_*ngh 10

我完全在Django中创建了一个小型内部Web应用程序,之后完全在web2py中.这是真正理解差异及其对开发人员体验的影响的唯一方法.

我更喜欢web2py,因为环境中内置的便利性比Django提供的更多,但是web2py比Django更新,后见之明总是让新的实现变得更容易.由于web2py保证了向后兼容性,因此一些新工具使web2py在未来几年内过时是完全合理的.这是正常的事情方式.

无论如何,它们彼此非常接近,远远超过任何其他网络框架,与两者中的任何一个相比.例如,从基于Java的Web框架的角度来看,它们看起来可能几乎完全相同.

  • @Tadeck:关于我对web2py的体验,我成功发布了网站,非常清楚我的应用程序中发生了什么,没有重新实现功能,在IDE中使用web2py就好了(PyDev Eclipse),贡献代码到trunk,经验丰富的完美稳定性(web2py保证了前向兼容性!),为web2py书做出了贡献,并且通常享受与友好社区的互动.我相信Django也可以做到这一切.只是在说'. (3认同)
  • 好点,+ 1。但是,当您试图在两个框架中进行更高级,更自定义的操作时,_real_差异是显而易见的。我相信您可以看到Django优于Web2Py,因为您清楚应用程序中会发生什么,Web2Py的所有功能都是,也可以在Django中轻松实现。两者之间存在一些差异,例如Django中缺少基于Web的IDE(也许有一个模块),但是至少Django已由各种IDE正确解释,并且具有高度可定制性和稳定性。 (2认同)

sim*_*rsh 6

知道一些python框架肯定有帮助.

最有效的入门方式是,比较两者的不同部分,即模型,视图,控制器,URL调度,模板,表单等.

是几个框架的一个很好的比较.我相信它会有所帮助.