13

现在我已经对 web2py 比较熟悉了,我想试试 Django。

主要区别是什么?

考虑到 web2py 知识,最有效的入门方法是什么?(一定有一些python应用框架的知识,不是吗?)

编辑

另外,如果您两者都使用过,您能否提供一个您更喜欢的意见以及为什么?

4

5 回答 5

27

web2py 深受 Django 的启发,如果您知道其中一个,则很容易学习另一个。我们添加了一些在 Django 中没有的功能,包括:数据库迁移(自动更改表)、错误票证、基于 Web 的 IDE、可在 Google App Engine 上运行的数据库抽象层、可插入登录的基于角色的访问控制机制模块。

基本设计差异之一是在 Django 中,应用程序是作为模块实现的,因此在编辑它们时需要重新启动服务器。在 web2py 中,Models/Views/Controllers 不是模块,它们由框架执行(不导入),因此当它们发生变化时您不需要重新启动服务器。

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

Django 存在的时间更长,因此您会发现更多熟练使用它的人并部署了更多应用程序。

于 2009-12-10T19:50:05.423 回答
13

姜戈=老

Web2py = 新

无论 Django 做什么,web2py 都做得更好。这是因为 web2py 是在 django 之后很久才制作的,并且从 Django 的错误中吸取了教训,尽管它犯了所有新错误;)

主要区别,以及让我留在 web2py 中的原因:

  1. Django 有令人难以置信的文档...web2py 非常直观,它不需要那么多...但是!我发现 Django 文档在很大程度上适用于 web2py。如果你花一天时间阅读 django 书(第 1-7 章),你就会明白这是怎么回事。所以在某种程度上,说 Django 有更好的文档是愚蠢的。另外,请注意,任何框架都在谈论它的文档量是一件好事……请注意……文档是好的,不需要任何以 = 更好的开头。Web2py 现有的文档足以满足 90% 的用户的需求。剩下的 10% 得去看看框架库代码(没有 Django 那么多,也没有那么吓人)。此外,如果您花费超过 30% 的时间来处理库代码,那么是时候摆脱框架并转向库集合(例如 pylons)了。

  2. Django 中的 SQLForm 是 TextModel。使用 TextModel (=SQLForm) 创建表单后。祝您尝试更改单个输入字段的 CSS 好运!在 web2py 中,您只需执行 form.element(),在 Django 中没有这样的事情。您必须通过“widget()”,但要访问小部件,您必须首先通过输入字段类型等...

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

  4. 最后,没有对多个数据库的开箱即用支持......想想篮球......

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

如果您想真正从 web2py 中向前跃进,请尝试 Pylons ......说真的......

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

结论 花一天时间,阅读 django 书(第 1-7 章)和 Pylons 书(第 1 部分),然后想想你为什么要开始使用框架。对我来说,这是尽可能快地完成工作,并且 30% 的时间都无需查找文档。

Web2py 满足了我以上的需求。

于 2010-05-10T16:12:51.410 回答
10

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

我更喜欢 web2py,因为环境中内置了比 Django 提供的更多便利,但 web2py 比 Django 更新得多,而且事后诸葛亮总是让新的实现变得更好。由于 web2py 保证了向后兼容性,因此某些新工具使 web2py 在几年后过时是完全合理的。这是正常的事情。

无论如何,它们彼此非常接近,与两者中的任何一个相比,它们都比任何其他 Web 框架都更接近。例如,从基于 Java 的 Web 框架的角度来看,它们可能看起来几乎相同。

于 2010-05-08T22:00:44.887 回答
6

了解一些python框架绝对有帮助。

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

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

于 2009-12-10T13:58:49.313 回答
4

在选择 web2py 之前,我是一名 Django 程序员。我发现自己使用 web2py 效率更高,这可能是因为合理的默认设置(隐式导入、默认视图等)和论坛的大力支持。

于 2009-12-12T23:22:22.247 回答