[Tutor] Webpy vs Django
Scott SA
pydev at rscorp.ab.ca
Sun Apr 19 21:17:32 CEST 2009
On Apr 19, 2009, at 4:52 AM, vishwajeet singh wrote:
> This is not to flame any war; I just wanted to know the key features
> to consider among the two web frame works.
>
> What advantage and disadvantages you have when you decide using any
> one of them.
I can't speak with any authority on Webpy (webpy.org), as I have not
actually used it though I did read up on its features about a year ago
and now just a quick glance again. I do have some experience with a
different 'light-weight' framework called Quixote (www.quixote.ca) and
have a production project using it... that I'm migrating to Django. I
also have a couple of projects using Zope... also being migrated to
Django. I don't mention all of this as any indication of prowess, in
fact much of the code on these projects has been written by other
developers I've contracted to, but that I have some similar experience.
The main point I wish to make of all this is that these different
frameworks kind of coalesce into sub-groups. They sort-of form into
three groups: light-weight framework, full-featured framework and
heavy CMS (lots of inseparable overhead). Furthermore, like a series
of balls or coins in a simple Pachinko machine (http://en.wikipedia.org/wiki/Pachinko
) where each one takes a different route, the application you are
developing will have a huge influence on requirements.
Personally, I've been working with Django on and off for about 2-1/2
years and find it a joy to work with. It does not have the overhead
and hidden 'magic' of Zope and I don't have to re-invent almost
everything like Quixote. For _my_ needs, it has been a great blend of
capabilities without the oppressing overhead of the CMS. I can add or
remove the modules needed on a project-by-project basis.
"Out of the box", the automated admin interface is a huge time-saver
and its object-relational model is quite good at wrapping relational
databases into a python-friendly framework. Also it's user-admin and
authentication takes care of the core of most sites I work on. It has
a good blend for my requirements of granular framework access and
functional tools to save me time. And now, there is quite a nice
selection of add-on applications that extend Django in a very modular
fashion, though there are still growing pains. Like "Goldie Locks and
the three bears", this one is "just right" for my needs.
Just as Zope is overkill for projects that don't need CMS, Django
would be overkill for a project that didn't need much for database
access and admin interface. The authors of Django, try pretty hard to
not hide anything that is going on in the background but there is
still a lot being done for the developer. For example in creating db
schemas, wrapping queries and result-sets into object calls, rendering
content through templates and much more. All have ways of being
modified but not necessarily by novice python developers.
So the short answer to your question is that Webpy and Django are
quite different in their tool-sets and are therefore tough to compare.
As with all lightweight frameworks, they are _shorter_ on pre-defined
features. That's not a negative, that _is_ the point of them. Django
has tried to bridge, and in my opinion done a good job of it, a
lighter-weight core with a well documented and developer-friendly
interface for extension. It is a framework that has allowed me to
gradually dig deeper and deeper into its workings to extract more
advanced features while not bogging me down with redundant and tedious
things like forms and user authentication.
I chose Django because it had the most to offer for what I need and it
seems to have the "legs" to cover a lot of ground. That said, I don't
that anyone could say you were wrong by choosing either of the
projects you mentioned given appropriate circumstances (though
personally, I can't find _any_ circumstances where I'd recommend Zope
today -- but that's probably a personal bias and I won't digress).
I know this doesn't answer your question directly but I hope it helps
broaden the perspective a little,
Scott
More information about the Tutor
mailing list