Does web2py support Javascript form validation?
Out of the box, web2py performs a server-side check, on the client side js, a preliminary int check, a double and pop-up calendar window for date / time / date and time. JQuery plugins allow you to add additional client-side validation. web2py is basically a server, not a client.
Does web2py have mongo db plugin? Something comparable to ...
Web2py is written in Python, and there is a python module to access mongodb. Web2py has a database abstraction layer that supports 10 relational databases and Google Big Tables. DLA support for couchdb and mondogo is, but only partially and experimentally. It will be completed in the next couple of months.
Can you write console applications using web2py?
Web2py applications must run in a browser. You can create a regular python console and GUI applications that use any of the web2py modules, for example, the template language and the database abstraction level.
Can web2py automatically generate SQL from model classes, or can you create model classes from a SQL schema? I prefer the latter.
It can partially execute the latter for mysql and postgresql, but only partially, because its purpose is the opposite: users do not write SQL, but use the database abstraction layer to create tables. DAL is not ORM, models are not classes. Web2py has more field types than SQL (e.g. type password, type load, etc.). They affect how the contents of the field are processed in forms, and they cannot be deduced from the SQL schema.
What deployment tools are available for Python web applications? Is there something like phing?
web2py has a Mercury Integrated Web IDE. You can also use any other development tool that works with Python. I know phing, so I don't know how they compare.
You know ... it would just be easy to try web2py. :-) Good luck with Yii anyway. I'm sure this is great too.