[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