For a low-traffic site, using the Django routing level would be great, but if you plan to get a significant amount of traffic, you might want your proxy to handle stubs.
As for the rest, it works, and the TurboGears community has been doing this for many years (I was a TG committer, so I usually use that). The TG architecture that returns the dictionary to the template makes this trivial as you simply set json as the template engine.
Doing the same thing in Django is not much more complicated. Just use serialization tools to write the result in response, rather than using templating calls.
Please note that when you perform a similar architecture, it greatly simplifies management if you keep all the application logic in one place. Putting some application logic in Django, and some in the browser make things get confused quickly. If you consider your server as a dumb level of persistence (except for verification / authentication / authorization), life is easier.
FWIW, I believe that Sproutcore will work easier than Cappuccino if you are interested in heavier infrastructures without progressive improvement.
Karl Guertin
source share