I was once again on the hunt for an efficient and powerful CMS... clients keep asking for upgrades and there always seems to be something better!

Anyway, I have seen "django" around town a few places (most notably for me, at BitBucket) and decided to give it a read-through. I read the intro and FAQ one day and decided that it was worth looking into. The idea that its creators had ditched PHP for a Python-based framework was intriguing to me (I have done so much in PHP, from simple home-made projects to Joomla themes/plugins, Drupal themes/moduels, and WordPress themes). The other intriguing fact was that django was born out of a fast-paced newsroom environment with the chief features being speed of deployment and ease of administration.

Today, I decided to give it a whirl. I recently loaded up an Ubuntu 10.10 virtual machine (VirtualBox) on my MacBook Pro and configured it with the bridged connection so that I could access a server running on the VM. I installed the WSGI Apache module and then hit the tutorials for both WSGI and django to get a basic app working. It's really amazing how it all works together; the WSGI app seems not to know where to go, but a single line that passes the django app handler to the WSGI script is really tight integration, and we're up and running in about 45 minutes of stumbling hurriedly through docs!

I took a step back to read the design philosophies of the django project, and boy are they ideal! Where other projects that claim MVC (like Drupal) have settled for a hybrid between object-oriented programming and plain old procedural PHP and still others (like Joomla) have gone overboard with the object-oriented features of PHP5, django has taken an ideal approach to what functionality belongs where and really separated the layers. And their automatic administrative interface is simply beautiful. The major drawback is support from hosting providers. Of course, running a VPS/Dedicated Server/Cloud Server, you have complete control over the server config, which is really straight-forward, but hooking into the Apache configuration and enabling the WSGI module is really something that takes some consideration on the part of the web host, consideration not often taken by the cheap ones.

Needless to say, I will be considering django-based solutions as appropriate in the very near future!

Registered Linux User #370740 (

1 comment:

KJ said...

For the first time in a long time I am going to say I could barely follow any of that, lol. Write in your other blog, I like it better, more interesting and easier to follow, not to mention what I learn there can often times make me sound smart in class! =)


Paul Nguyen's Facebook profile

Nerd Test

I am nerdier than 94% of all people. Are you a nerd? Click here to take the Nerd Test, get nerdy images and jokes, and talk on the nerd forum!
v2.0: says I'm an Uber Cool High Nerd.  Click here to take the Nerd Test, get nerdy images and jokes, and write on the nerd forum!

Bloggers' Rights

Bloggers' Rights at EFF