Django is 10 years old now. It is not a cms, but it was originally build for one.
10 years? The web in 2005 was much different from the web we know now. If you were a developer in 2005, you’d have a relational database and some php and an apache in front. Now there are many more parts. And on the server side often there are various parts that need to be connected. And… are you building a website or isn’t it more like a real-time webapp?
Ok, where does this all leave django? Django is well-placed!
There are some problems.
You can mix-and-match to work around those problems. A “polyglot” solution. For example to get a good asynchronous solution working with a django website. Django + socket.io with redis and celery. A request comes in to django, which placed a job in the celery queue and data in redis. Once the job is done, socket.io pushes is to the client.
A common problem is shared authentication. With session cookies, you can ask django to authenticate your requests from within other programs. You could also use an access token solution. You could also let everything talk to a central authentication server.
Some closing comments:
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):