screeley.com

Assembling Django Applications into Web 2.0 Solutions

July24

What is Django?

Django is a python web framework that in their own words "encourages rapid development and clean, pragmatic design." It was originally developed developed by The World Company to manage their news properties in Lawrence, Kansas. It was open sourced in 2005 and has been gaining traction ever since. Often compared to Ruby on Rails, it is used in close to 1500 sites as listed on djangosites.org

Assemble?

When most technologists think of Django they think build, not assemble. Other solutions like Drupal and Joomla! are synonymous with assemble allowing users to plug and play with a high number of modules. Drupal especially makes it easy for the novice user to add functionality just by installing extensions and configuring it to work. So why am I talking about assembly with Django?

Django builds projects in apps, a series of functional blocks, i.e. blogs that are separated for reuse. Their overriding philosophy is "Do not Repeat Yourself" (DRY) and they encourage developers to use the same applications for different projects. Django community members are taking this one step further and open sourcing these apps for public use, the community as a whole doesn't repeat itself. Django Pluggables now lists 130 projects for public consumption and reuse. Some example applications include Coltrane, a blogging application, Django Tagging, a tagging add on so Tag any piece of content and Django Forum, a forum application.

Does it Work?

The best example of Django application assembly is Pinax an application based of the Hot Club of France project. Staying with the Django jazz theme, the Quintette du Hot Club de France was a jazz group, so as you might of guess the Hot Club of France project is a grouping of 24 community applications and 8 custom applications.

I would recommend signing into the demo site. It doesn't require an email or any commitment to poke around. You will see blogs, messaging, friends, wikis, groups, et al. Everything that makes up a community Web 2.0 site. Still thinking about building your next community site from scratch?

Why Django?

Django development is fast. Every site is different and there will always be a need for some custom development. Django was designed for a news room with deadlines, where new modules or features would have to be added in days not weeks. To illustrate, Django Dash challenges teams of 2 to build a site in 48 hours. Some of the results are impressive given the time constraints.

Conclusion

What I'm not saying here is that Django application assemble is quicker or easier than Drupal or Joomla!. It's very hard to compete with those two solutions for out of the box functionality. However if you are looking to build a custom application, but find yourself locked into default modules, than you should take a closer look at Pinax, Django Pluggables and Django application assembly.

I'm a developer out of San Francisco CA working at a startup.

This space will deal with the work I've participated in using the Django framework to build applications for enterprise clients.

Finally, you should follow me on twitter.

Ruminations

  • "GobgoplebeM <a href=http://posterous.com/people/4SDzppk18fMR>сиалис цены</a> undilyday"
    at 3:24a.m. Sept. 6, 2010 | permalink

  • "generic z-pak <a href=http://sefsa.org>buy azithromycin</a>"
    at 7:53p.m. Aug. 27, 2010 | permalink

  • "How do i come up with cash from online gambling? <img>http://shrtn.info/smile/ref.php</img>"
    at 2:50a.m. Aug. 25, 2010 | permalink

  • "http://needman.ru замуж за иностранца <a href=http://needman.ru>знакомства с иностранцами</a>"
    at 12:59p.m. May 18, 2010 | permalink

  • "Yebhewjw <a href="http://yebhewjw.de">yebhewjw</a> http://yebhewjw.de yebhewjw http://yebhewjw.de"
    at 11:41p.m. April 29, 2010 | permalink

  • "Thanks for this, unbelievable our developer has a robots no follow tag on our site, no wonder it wasn't being found by the search engines ..."
    at 7:40a.m. March 2, 2010 | permalink

  • "maybe you are right. but how often robots.txt is actually accessed? and how much overhead there is? I'm curious - quantitatively - how big of ..."
    at 7:13p.m. Dec. 12, 2009 | permalink

  • "Lovely idea! Thanks for sharing. I'm gonna have a closer look at the patch for Django 1.2. This could help switching template engines a lot. ..."
    at 9:14a.m. Nov. 2, 2009 | permalink

  • "That was an inspiring post, I think Drupal is great! how could you hate it so much, Thanks for writing, most people don't bother."
    at 11:14a.m. Oct. 28, 2009 | permalink

  • "@Evgeniy. Yes at: http://code.google.com/p/django-alfresco/"
    at 10:42a.m. Oct. 22, 2009 | permalink

  • "Is this released as an open source project?"
    at 1:21a.m. Oct. 22, 2009 | permalink

  • "Interesting, thanks for the examples that you have shared, these are great... Anyway, thanks for the post"
    at 7:55a.m. Oct. 16, 2009 | permalink