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?
Comments:
Massive +1 for Celery, though it doesn't really live in the "django app" part of my brain anymore since I've been hacking on using it with Flask. It is amazing how much stuff you can offload from the main request cycle when you think in terms of queues.
Take a look at: http://djangopackages.com/
Definitely Django Debug Toolbar, django-registration and Celery.
Even thoug I've never used the latter, I know I will use intensively in the near future.
Actually, sorry for the double post, from today on my favorite app is django-funserver from James Bennet http://bitbucket.org/uberno...
To me DDT, Django-registration, South and Sentry are must have apps. Mad props for their authors: Rob Hudson, James Bennett, Andrew Godwin and David Cramer.
Some others I love and you didn't mention are: django-pagination by Eric Florenzano, django-extensions, django-fixture-generator by Alex Gaynor and django-rules by myself :)
Those are the apps I pretty much set up every time I'm working on a Django project.
I have to look at Celery, sorry, first time I hear of it.
Without a doubt, django-funserver is the best app I've seen in years.
I'd say celery is suffering from the 1-vote system. South is my favorite app for sure, but Celery is a close second. I'd round out my favorites with django-extensions, django-storages, johnny-cache, nosedjango (not really a django app) and django-sphinx.
I'd have to give two big thumbs up to Django-CMS. It provides me with a great "base" application to power projects with. Almost all of my freelance work has some sort of CMS portion, and it's incredibly easy to hook custom apps to any page in Django-CMS, giving me an incredible jump-start. All of my .NET MVC2 friends are jealous.
I can't say which one is my favorite, but those are the ones I use in most my projects:
django-grappelli (with admin_tools)
django-easy_thumbnail
django-photologue
django-colors (shameless plug)
I've used most of the apps in your list and they are all truly awesome.
Here's my list:
South
Celery
django-registration
django-compress
django-mptt
I'm surprised to see django-imagekit not mentioned. It's not flawless, but it's a terrific way to manage images, thumbnails and processing.
Some others that I use:
django-piston (I wish they would cut a new stable version)
django-taggit
django-model-utils (a lot of this should be rolled into django itself imho)
django-profiles
django-xframeoptions (middleware to signal to modern browsers not to allow frame your site)
django-profiles
simplejson (because python 2.6 doesn't natively serialize Decimal types)
And a few that I use and have done some modifications/work on:
http://github.com/poswald/d...
http://github.com/poswald/d...
http://github.com/poswald/m... (I have an updated and bug fixed/customized branch here)
http://github.com/poswald/p...
Mezzanine is going forward pretty fast http://mezzanine.jupo.org/
These are the apps we use is every project, some kind of our jet pack:
- DDT
- django-modeltranslation
- South
- django-admin-tools
- django-filebrowser + django-tinymce
Leave a comment: