Jacob Kaplan-Moss

What’s your favorite Django app?

I wrote this post in 2010, more than 11 years ago. It may be very out of date, partially or totally incorrect. I may even no longer agree with this, or might approach things differently if I wrote this post today. I rarely edit posts after writing them, but if I have there'll be a note at the bottom about what I changed and why. If something in this post is actively harmful or dangerous please get in touch and I'll fix it.

On Twitter, I asked, “what’s your favorite third-party Django app?” Eight hours later, I’ve got about 50 replies.

I meant the question to be fairly open-ended – I deliberately didn’t clarify what I meant by “favorite” – and I’m not that popular, so this is by no means an accurate sample of the Django community. Still, the answers are a bit interesting, so let’s take a look:

The winners

The favorite was… (drumroll please)… South. By a landslide, actually: about a third of the folks who responded chose South. I’m not particularly surprised: schema migration is a problem most users face, and Django doesn’t have anything in core to handle it. But that’s another show.

Next, mentioned by about 10% of replies, is Django Debug Toolbar. Again no big surprise to me: DjDT is pretty fantastic, and it really makes debugging (and performance tuning) easier.

Both of these first two tools should really be in every Django developer’s arsenal. You may end up not using ’em, or may not need one or the other for every site, but any Django developer worth her salt should at least know a bit about these two tools.

The still-winners-just-not-as-muchly

After that, a handful of apps received a couple-three “votes”:

It’s an interesting mix of apps: search, revision history, logging, typographic style, and a couple of different image thumbnailing solutions. I’ve not used all of these myself, but I’ve given each at least a quick poke and if nothing else it’s a good list of toys to play with some cold afternoon this winter.

About a dozen more apps received just one mention. I’m lazy, so tracking down each from my @replies is left as an exercise to the reader.

I will, however, quickly mention one: Celery. I’m really surprised only one person mentioned it because lately Celery has been an increasingly large part of the apps I build. It’s a distributed asynchronous task queue, which is just a fancy way of saying that Celery is a tool for performing some tasks “later,” out of the bounds of the request/response cycle. Check it out: it’s pretty fantastic. It’s not just for Django, either: Celery integrates with any Python project, and has first-class hooks into Django, Pylons, and Flask.

My list

A few asked for my favorite app. It’s a hard question for me – I just know I’ll forget something awesome. Still, at the risk of pissing off someone whose favorite app I forget, here (in no particular order), are my top 5 favorite and most-used third-party Django apps:

What’s on your list?