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)
Guido prefers Django (Score:5, Interesting)
FYI Guido van Rossum [wikipedia.org] prefers Django [artima.com] (from his blog [artima.com]).
And people that use web frameworks in Python [python.org] will probably be interested in WSGI 1.0 [python.org] (the Python Web Server Gateway Interface) that will be added to the standard library in Python 2.5: it will probably be supported by all the major Python web frameworks.
Re:Guido prefers Django (Score:4, Interesting)
Well, that can be understood, Turbogears for example is mostly "just another python framework" and a Rails ported to Python. If you want Rails, just use Rails (Ruby isn't hard to graps if you know Python... hell, it's even easy, just as switching from Ruby to Python is easy, once you overcome the minor differences)
Django on the other hand offers a slightly different approach of the notion of web frameworks, and has the killer "Hey let's just give you complete administrator interfaces in like 2 lines" which is a true life saver (and the "default" admin interfaces look quite nice too, much nicer than anything i'd be able to code without a designer anyway)
Re:Guido prefers Django (Score:2)
Guido is a language designer, not a web developer. What he prefers has absolutely no bearing considering that he was asking the community to teach him web frameworks 6 months ago.
http://www.artima.com/weblogs/viewpost.jsp?thread
Re:Guido prefers Django (says who?) (Score:3, Insightful)
How did you get from Guido's statement that "Django's gaining steam" to your statement that "Guido prefers Django"? Prefers it over what? Is that from your personal communication with him, something he said in public somewhere else, or are you reading something into that blog posting that I can't see? He doesn't mention anything about TurboGears or his preference in web frameworks, he simply states that Django is gaining steam in a big way. You're jumping to conclusions if you think that blog posting impli
Re:Guido prefers Django (says who?) (Score:2)
I took a brief look at Django, and while I like their website (pretty and easily navigable and chockfull of useful information), I'm not keen on the particular tools they provide (it doesn't help that they begin every example with "from mumble.something import *").
""" - http://www.artima.com/weblogs/viewpost.jsp?thread = 146149 [artima.com]
doesn't sound like he likes it much either...
Re:Guido prefers Django (says who?) (Score:2)
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
TurboGears is great, and so is Django (Score:4, Informative)
Community Oriented (Score:4, Insightful)
Re:Community Oriented (Score:1)
Re:Community Oriented (Score:3, Informative)
Ultima
The article says... (Score:2)
In other words, if you have any other way to work with data in a database, you don't need "Toolbox".
"A side benefit of the TurboGears framework is that it is a megaproject with a megacommunity. TG has become a powerful, central force, driving interest and involvement into the core components that make up TurboGears. It is the tide that raises all ships."
Soun
Re:The article says... (Score:1)
I've no need for such a framework myself, but out of general curiosity I've had a good look at what it offers, and it does indeed appear to be a good fit to make light work of some very common web application development requirements.
Re:The article says... (Score:2)
Oh yeah? Last time I checked there were still people genuinely enthusiastic about Java, and there won't be any reason to be enthusiastic about Java until Sun officially announce that they're deprecating it. Or that they're implementing C#3.0 leve functionalities (minus the stupid XML and SQL shintegration).
Oh wait, there is already a JVM language with some of that stuff, it's called Nice, how about just replacin
Re:The article says... (Score:2)
Actually the in other words statement is: "It was not made to be an interface for your users, don't try to make it work as one." The toolbox is a good intermediate option between building initial configuration into your app and doing it directly via raw database a
slashdot meets the real world (Score:3, Funny)
Soon to be obsoleted by Airways for Python
Guido Van Rossum heard exclaiming that he was developing with SNAKES on a PLANE
Re:slashdot meets the real world (Score:3, Informative)
Python to Ruby (Score:2, Informative)
Re:Python to Ruby (Score:2)
I, too, am looking to use one of the three frameworks you mention. I gave up on Catalyst--it's neat, but changing too fast for me. So I figure I'm going to be learning another language and framework at the same time. The recent slashdot review of the Ruby-for-Rails book tips the scales a bit toward RoR, mostly because I feel I could get productive faster. Would you agree?
Re:Python to Ruby (Score:1)
Re:Python to Ruby (Score:1)
Probably (depending on what you're doing), but there is an extreme lack of plugins/extensions/whatever for Django and TurboGears when compared with Rails.
AJAX support.. (Score:2)
Pylons: In-between RoR and Turbogears (Score:1)
SqlAlchemy (Score:2, Interesting)
There was some talk of integrating it with TurboGears to create some competition for SqlObject. Not sure where this stands currently.
Re:SqlAlchemy (Score:1)
Kevin Dangoor did his EuroPython 20-minute challenge using TG and SQLAlchemy, and he can't stop talking about how much SQLAlchemy kicks SQLObject's ass
License? (Score:3, Insightful)
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]
No GUI builder? (Score:2)
Rails is not ONE package (Score:1)
You mean like Rake, ActiveSupport, ActiveRecord, ActionPack, ActionMailer, and ActionWebService?
$ gem dependency rails
Gem rails-1.1.4
rake (>= 0.7.1)
activesupport (= 1.3.1)
activerecord (= 1.14.3)
actionpack (= 1.12.3)
actionmailer (= 1.2.3)
actionwebservice (= 1.1.4)
Re:Rails is not ONE package (Score:2)
Podcast with Django's Adrian Holovaty (Score:3, Interesting)
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:
Turbogears & SQLAlchemy (Score:3, Interesting)
Quite happy with TurboGears and Kid (Score:2)
I've just completed a large project using TurboGears, and I'm quite happy with it, considering how new it is (not even to version 1.0 yet).
The Kid templating system is wonderful and well designed: very Pythonic, XML centric, practical and easy to use. But it's pretty hard to trace and debug problems with templates, and it's not very smart about stripping out unnecessary white space (not a big deal, but the Kid compiler could be smarter about optimization, and inject extra information to make debugging e