web2py有这些吗?

8 投票
1 回答
2539 浏览
提问于 2025-04-16 15:19

我正在用PHP和Yii以及phing完成一个项目。虽然Yii是我用过的最好的网页框架,但我更喜欢用Python写代码。所以,我在研究web2py,并有一些问题:

  1. web2py有没有提供JavaScript表单验证的功能?Yii有一个叫做http://www.yiiframework.com/extension/jformvalidate/的扩展。
  2. web2py有没有mongo db的插件?类似于http://www.yiiframework.com/extension/yiimongodbsuite/的那种。
  3. 可以用web2py写控制台应用程序吗?
  4. web2py会自动从模型类生成SQL吗?或者可以从SQL架构生成模型类吗?我更喜欢后者。
  5. Python网页应用有哪些部署工具?有没有类似phing的工具?是的,我知道可以用ant、Maven,甚至phing,但我更想用一些用Python实现的工具。

1 个回答

13

web2py提供JavaScript表单验证吗?

默认情况下,web2py在服务器端进行验证,同时在客户端会对整数、双精度浮点数和日期/时间进行一些基本的JavaScript预验证。为了增加更多的客户端验证功能,可以使用jQuery插件。总的来说,web2py主要是处理服务器端的事情,而不是客户端。

web2py有MongoDB的插件吗?类似于...?

web2py是用Python写的,Python有一个模块可以用来访问MongoDB。web2py有一个数据库抽象层,支持10种关系型数据库和Google Big Tables。对于CouchDB和MongoDB的支持目前还在进行中,但只是部分和实验性的,预计在接下来的几个月内会完成。

可以使用web2py编写控制台应用程序吗?

web2py的应用程序必须在浏览器中运行。不过,你可以构建普通的Python控制台和图形用户界面应用程序,这些应用程序可以使用web2py的任何模块,比如它的模板语言和数据库抽象层。

web2py能从模型类自动生成SQL,还是可以从SQL模式生成模型类?我更喜欢后者。

对于MySQL和PostgreSQL,它可以部分实现后者,但只是部分实现,因为它的目标正好相反:希望用户不需要写SQL,而是使用数据库抽象层来创建表。数据库抽象层(DAL)不是对象关系映射(ORM),模型也不是类。web2py提供的字段类型比SQL更多(例如密码类型、上传类型等)。这些字段类型会影响表单中字段内容的处理方式,而这些是无法从SQL模式中推断出来的。

Python Web应用程序有哪些部署工具?有没有类似phing的工具?

web2py有一个基于网页的集成开发环境(IDE),并且支持Mercurial。你也可以使用任何其他与Python兼容的开发工具。至于phing,我不太清楚它们之间的比较。

你知道吗,其实试试web2py也很简单。:-) 不管怎样,祝你在Yii上好运。我相信它也很棒。

撰写回答