TurboGears vs Django

524 views
Skip to first unread message

Nader

unread,
Dec 5, 2006, 7:37:47 AM12/5/06
to TurboGears
Hello,

I would like to spend time to learn one (maybe both) of these tools to
make some application. I have learned Python because of his advantages
to compare to other languages. I have rewritten a lot of bash scripts
in Python. I have some experince with PHP also. But I would like to use
Python for develop some web application also. But I don't know
preciesly which of them (Django or Turbuears) is more applicable. I
don't dare to say which of them is better, because I can't judge about
it. I don't have enough knowledge about it. I would like to hear
somebody who has this knowledge.

With regards,
Nader

Alberto Valverde

unread,
Dec 5, 2006, 3:04:47 PM12/5/06
to turbo...@googlegroups.com

This has been discussed a zillion times... both in this ML and any many
blogs. I'm pretty sure that if you google for "Turbogears vs. Django"
you'll find plenty of material to make an informed decision.

Alberto

Steve Bergman

unread,
Dec 5, 2006, 5:00:33 PM12/5/06
to TurboGears
"""I'm pretty sure that if you google for "Turbogears vs. Django"
you'll find plenty of material to make an informed decision."""

Hi Alberto. I've actually done quite a lot of that. ( Googling for
"turbogears vs %s" % web_devel_framework_name )

And there is, indeed, a good bit out there. Oddly, however, most of it
is from between about October 2005 and February 2005. There seems to
have been a flurry of attention to the topic which has since subsided.

The result of which is that you see a lot of TG 0.8.x comparisons with
other frameworks.

I'm not sure that is to our advantage.

Mark Ramm

unread,
Dec 5, 2006, 5:45:37 PM12/5/06
to turbo...@googlegroups.com
> I would like to hear
> somebody who has this knowledge.

Well, I think TurboGears and Django are both great frameworks, so you
won't "go wrong" no matter which one you choose. That said, you're
asking on a TurboGears list, and I'm the author of a TurboGears book,
so perhaps you won't get an "unbiased" opinion out of me.

I think TurboGears provides better templating solutions, a better
Object Relational Mapper, and easier URL-controller mapping. Django
on the other hand offers a fantastic "Admin interface" which can help
you get content managment type applications up and running very, very
quickly.

TurboGears provides more support for Ajax, and is generally focused
more on the "application" side of web development, whereas Django has
a historical focus more on the "dynamic content" side of the web. Of
course there's no firm line between an web application and a site with
dynamic content, and both frameworks have been successfully used for
both kinds of sites.

In the end it all boils down to which one works for you, which style
of web development fits your needs. Another thing which I should
mention is that TurboGears tends to be somewhat more forward looking
of a place than Django, so there's likely to be access to new python
technologies like SQLAlchemy in TurboGears before you'll ever see it
in Django. This can be a good thing, because SQLAlchemy is awesome,
and makes lots of hard problems easier. But it can be a bad thing
because Django's monolithic form and central control structure ought
to make version to version upgrades a bit easier by preventing API
changes.

--Mark Ramm

Karl Guertin

unread,
Dec 5, 2006, 6:04:52 PM12/5/06
to turbo...@googlegroups.com
On 12/5/06, Mark Ramm <mark.mch...@gmail.com> wrote:
> TurboGears provides more support for Ajax, and is generally focused
> more on the "application" side of web development, whereas Django has
> a historical focus more on the "dynamic content" side of the web. Of
> course there's no firm line between an web application and a site with
> dynamic content, and both frameworks have been successfully used for
> both kinds of sites.

It's worth noting that Django and TG will probably wind up borrowing
ideas from each other, so I think the two environments will look
rather similar in a year or so. As an example, I saw Adrian's
announcement on django.newforms the other day. I haven't used it, but
the code examples look a lot like TG's widget system. Similarly, there
is a discussion on the Genshi list (TG will move from Kid to Genshi)
on how to implement Django's template filters.

I tend to use Django for CMS-like systems and TG for everything else.
I prefer TG because I feel that working with the greater Python web
community is worth a bit of integration polish.

iain duncan

unread,
Dec 5, 2006, 8:35:07 PM12/5/06
to turbo...@googlegroups.com

Yup. Most of what you will turn up googling is now quite out of date on
both sides. Recent mailing list archive discussion on gears, django, and
pylons are good though.

Iain

Chris Cioffi

unread,
Dec 5, 2006, 11:58:57 PM12/5/06
to turbo...@googlegroups.com
You've gotten a lot of good feedback from others but I'll throw in my bit too.

I see the biggest difference between Django and TurboGears as being the type of application problem they were trying to solve.  Django was developed by folks who were working on publishing information.  Therefore it seems that Django was developed with the bias towards applications that mostly publish information to the user.  Getting data from the user, while not hard, seems to have been a lower priority.

TurboGears seems more designed for direct interaction where the user is supplying most of the data.  The problems that TG seems to want to solve are the more general "web application" kind of problems.

If I were writing a CMS or information push kind of app I would certainly look very hard at Django.  For more normal application kinds of systems Im looking to TG. 

Take a look at http://code.djangoproject.com/wiki/DjangoPoweredSites and you'll see that a lot of newspaper and news sites use Django.

Looking at http://docs.turbogears.org/1.0/SitesUsingTurboGears and we see far more variety and no "normal" usage.  We also see a shorter list w/ TG due in part to it's newness and I suspect that it's used for many "private" projects not generally on the Internet.  (That's my main use for it now at work...)

Like other's have said, both systems are developing rapidly and both will steal good ideas from the other.  While it won't hurt you to learn both, you'll probably want to look hard at the type of application you plan on writing and use that as a guide as to which system you'll use for any given project.

Good luck!

Chris
--
"A little government and a little luck are necessary in life, but only a fool trusts either of them." -- P. J. O'Rourke

Ed Singleton

unread,
Dec 6, 2006, 4:43:50 AM12/6/06
to turbo...@googlegroups.com

If you're quite new to Python programming and web programming in
general, then I'd suggest Django. It's better documented and easier
to get started in. If you get frustrated that you can't do certain
things in it, then give TurboGears a look.

Having said that, both systems have some interactive tutorials that
you can do in an hour or so. Do at least one from each system and
see which seems to fit your way of thinking.

Personally, I think TurboGears tends to be hard work, but much more
satisfying, and you learn a lot from using it.

So maybe, TurboGears for hobby or learning. Django for high-pressure
work environment. TurboGears for low-pressure work environment (ie
when you get to do your learning on the job).

Ed

Ed

iain duncan

unread,
Dec 6, 2006, 5:34:35 AM12/6/06
to turbo...@googlegroups.com

In general I agree with the above. That said, if you think what you want
to do is out of Django's core problem domain, then it's not so good to
be in a high pressure situation and suddenly realize that what you need
to do is going to be *really* hard. I found that to be the case with
Django's admin interface. ( Which is really the main selling point of
Django ). Cusomizing it as is intended by the designers is easy. But if
you decide you need to do something weird, hacking on that is not
pretty.

iain

Reply all
Reply to author
Forward
0 new messages