Django, Turbo Gears, Web2Py, which is better for what? Django, Turbo Gears, Web2Py, which is better for what? python python

Django, Turbo Gears, Web2Py, which is better for what?


You should look at the web2py online documentation (http://web2py.com/book). It comes with a Role Based Access Control (the most general access control mechanism) and it is very granular, you can grant access for specific operation on specific records. It comes with a web based IDE but you can use WingIDE, Eclipse and PyCharm too. It comes with helper system that allows you to generate HTML without using HTML. Here is an example of a complete app that requires users to register/login/post messages:

db.define_table('message',Field('body'),Field('author',db.auth_user))@auth.requires_login()def index():    db.message.author.default=auth.user.id    db.message.author.writable=False    return dict(form=crud.create(db.message),                messages=db(db.message.id>0).select())

The web2py project is very active as you can see from the list of changes http://code.google.com/p/web2py/source/list

If you have web2py related questions I strongly suggest you join the web2py mailing list:http://groups.google.com/group/web2py/topics

We are very active and your questions will be answered very quickly.


I have to say as not particularly skilled developer, the speed at which I have been able to create using web2py has blown my mind. In large part due to the amazing community and the core value Massimo has of making the framework accessible.

When I started I had written 0 lines of code in PythonNever heard of web2py

I've been at it seriously for about a month and have progressed (in my usual fashion) from asking questions that no one could answer (because they didn't make any sense) to coding for hours at a time without picking up a book or asking a question.

I'm really impressed.


I've had positive experiences with Django.

  • Built-In Authentication and easy to use extensions for registration
  • Very good documentation
  • You probable write your HTML templates mostly in base.html, then just use template inheritance (Note: You'll need to write at least a little bit of HTML)
  • In contrast to Turbogears, Django is more 'out-of-the-box'
  • I don't have any experience with web2py, but from my impression, it tries to do a little to much 'out-of-the-box'