Productivity in the Trenches, or, Djangoism Saves

Posted by Jeremy Voorhis Thu, 08 Sep 2005 21:55:00 GMT

This may or may not come as a surprise to some of you who know me, but, I have nearly finished rewriting Cokemachineglow with Django. Yep, I even put my darling ruby API for importing album art from Amazon Web Services up on the shelf.

Why would I do this when I had begun the project with Rails? Consider: Django was originally developed for publishing-oriented sites such as ljworld.com, lawrence.com and kusports.com. As far as I can tell, Cokemachineglow is more like lawrence.com than Basecamp, and you can definitely see the history of each framework while assessing their strengths and weaknesses.

Though I have not seen World Online’s admin site, I do know Django’s dynamic admin could easily be used to manage these three sites and more from one site. I have also been told that World Online’s admin currently has 63 users, and I know the ACL and auth module rolled into Django are capable of supporting this. As you can see from our staff page, we will have 17 writers and editors, plus some additional contributors not mentioned on that page.

Another huge benefit is that the dynamic admin site will allow us to easily share our music and ratings knowledgebase across other sites as we take on new endeavours. (We will be taking on new endeavours.)

It’s not all roses, however. The purity of ActiveRecord in Rails holds more appeal to the CS nerd in me, and I am missing a few other niceties from rails such as url_for and ERb templates. Django’s dynamic admin requires some information to be present in your model definitions, which kind of rubs me the wrong way. But I’ve rationalized this by thinking, when would I build a serious Django site without the admin? :)

I will continue riding on the back of the train with my railfaring friends ;) but I expect to be making quite a few Django sites in the near future.

Comments

Trackbacks

Use the following link to trackback from your own site:
http://www.jvoorhis.com/articles/trackback/28

(leave url/email »)