Web Development with TurboGears and Python 43
rdelon writes "TurboGears was previously mentioned here as "Python on Rails". It has since made tremendous progress and is now a popular Python web MVC framework (along with Django). IBM developerWorks just published a great article about TurboGears and a book is on the way. Unlike Rails and Django, TurboGears is made up of several pre-existing subprojects. One of the great features of TurboGears is the 'toolbox,' which allows you to configure and check various aspects of your application and database in a browser."
It's a two-part series (Score:5, Informative)
TurboGears is great, and so is Django (Score:4, Informative)
Re:Community Oriented (Score:3, Informative)
Ultimately though there is enough room in the Python world for a few different web dev stacks. Django and TurboGears both focus on slightly different problem spaces. Django seems more CMS-oriented while TG is better at web apps; obviously this is speaking in generalities, they are both useful for either.
Re:slashdot meets the real world (Score:3, Informative)
Python to Ruby (Score:2, Informative)
Choice is both good and bad, in my opinion. It sounds like TurboGears and Django specialize in different things, when it would be preferred for occasional users like myself that there were one clear winner that was evangelized and well supported for all applications. Perhaps out of this competition this will happen for both platforms -- this is where choice is good!
Re:License? (Score:3, Informative)
The main TurboGears stuff is MIT licensed. Various components have their own (open source) licenses. LGPL (SQLObject) is the most restrictive one, but that can be swapped out with SQLAlchemy (MIT), if necessary.
http://www.turbogears.org/about/license.html [turbogears.org]
New Turbogears features (Score:3, Informative)
While the article mentions Catwalk (toolbox app to set up initial database objects) it does not mention some of the very nice new features in Turbogears 0.9a6 [turbogears.org] (supposed to be real close to 1.0 now):
The turbogears quickstart can now create a set of customizable standard classes to handle standard authentication and authorization. A User Group Permission model coming with easy-to-use identity decorators for exposed methods. ( Identity Management Documentation [turbogears.org] )
A system to create reusable Form Widgets (with optional scripting / styles) and to use them in forms -- including support for error display and data retention.
Database tool meant to ease the creation of initial data. Sure, you can always just use plain SQL to set them up, but managing relations between tables can be slow and bothersome, especially for N-to-M relations (RelatedJoins in SQLObject terms)
Toolbox tool helping to design your models. (Showing diagrams etc)
Allows browsing through all available Widgets with working examples, example code and configuration help
Tool to collect internationalized strings and create new language catalogs
I started playing around with Turbogears some time ago and like it very much. The documentation is a bit thin at times, but the source code is easy to read and accessible (using ipython to interactively explore things also helped a lot.) I implemented my blog [fforw.de] in python and had only minor problems. And the code size also turned out to be relatively small.. For the metrics fetishists:
Blog with tagging, User handling (subscription, email confirmation etc), Image handling (upload, admin, thumbnails), atom feeds (general + tag based feeds) plus some minor things:
Guido says he doesn't endorse any web framework. (Score:5, Informative)
Guide van Rossum writes [artima.com]:
So no, he doesn't prefer Django. It's official: he makes no endorsement whatsoever, except for the low level WSGI standard. He's using Django for at least one application, but he encourages people to compare and contrast all web frameworks.
-Don