Here they are:
- Basic Authentication middleware (contrib.auth.middleware?), http://code.djangoproject.com/ticket/3609
- S3 file backend (in contrib.files?) , http://code.djangoproject.com/ticket/6390
- Dictionary to xml support for building APIs. The serializers for Django are a mess but simplejson is lovely.
- Context processors for the site name, site domain and url for use in templates. As defined by the project settings file and not contrib.sites (which is my least favorite Django app) please.
I’ve custom built all these things for Pownce but now I’m working on a side project and am super annoyed that I need to port them over. Two apps with these custom features makes me think that they really should be in Django.
On a positive note, the side project is almost done and it uses Django with CouchDB. More details soon!

12 Comments
David, biologeek
About S3 file backend, did you see django-storages project?
http://code.larlet.fr/doc/#django-storages
Malcolm Tredinnick
Well.. since most of these shouldn’t depend on changes to Django core, they’re are exactly the sort of things that shouldn’t need porting, so it sounds like “yr doin it wrng”. They should just be an orthogonal component.
“>1 person/app needs something” still isn’t a reason to include all of the one million feature requests people have. The bar is necessarily higher than that.
That being said, some of them should make it in the core distro at some point.
benoitc
Interresting you use couch with django. May I ask you how you integrate it with django ? Did you use external lib or anything else ?
Ash Christopher
If you are porting the apps over from Pownce, why not make them stand-alone apps that can be included in * projects.
Ash Christopher
Further to my previous comment, the S3 seems like it should NOT be core seeing as there are so many cloud storage solutions. Django really shouldn’t pander to one over the other.
Dictionary to XML support is totally needed however, it doesn’t belong in django-core. It should be in something like even-simpler-xml (simplexml is already taken =).
Abraham Estrada
I would love the XML support for APIs, I’m now using minidom but I think there is an easier way to do it.
Leah
Malcolm - I’m usually the first person to argue against adding things to Django core. However contrib apps seem to be full of weird CMS-type features anyways. Adding popular features (to contrib!) such as S3 support and basic auth doesn’t seem that bad.
Ash - that’s probably what I’ll end up doing although I don’t like maintaining code that crosses projects. I’m too lazy to make sure that stuff keeps working - much lazier than the Django folks.
I don’t mean to complain so much… I also just wanted an excuse to use the pony image on my blog!
kevin
Leah,
I created a simple reusable context_processor for adding site_info to your request context.
Nothing fancy here, and you prob have something similar that you use. But I figured I’d throw it up for public consumption. It’s really stupid simple, and maybe I missed a standard Django setting I could have reused.
http://github.com/howiworkdaily/django-site_info/tree/master
brixtonasias
I’m interested in this CouchDB stuff. Can’t wait for your blog post. I think it sounds pretty interesting.
What do you think about it moving over to Java?
Cheers
- brix
MK Owens
The pink Django pony is enough of a reason for this post to exist.
I agree that the Dictionary:XML support for building APIs and the context processors for templating both should be picked up by Django core, as they’re widely accessible that should really be in the core of a framework used by so many web apps.
S3 file backend, on the other hand, I don’t think *should* be in the Django core. There are so many alternatives to S3 now that a Django-compatible S3 file backend could be a great additional component. The other players in the cloud file storage / API business deserve equal weight as Amazon’s S3.
As an aside, good luck launching the side project. I’m looking forward to it.
daonb
I feel your pain. We’re too busy with the critical so that we don’t have time for the important stuff.
The fact is that to work with Django we have to contribute code. Django makes it easy to contribute - just use settings and write some good templatetags and we’ll help with the support.
So far I submitted just a handful of patches (#8501) and I’m very proud of them. When I posted I felt like I was getting a pony
Josh Highland
I think the django pony is the best framework/language mascot logo I have seen. It beats the hell out of the php elephant.