The Django template integration is actually really nice, and Neil has done a great job with it. It ties into “dojo.data” – which means the same data-binding that the grid/charting/filtering/etc uses can be used in the templates. Making it trivial to iterate and produce DOM structures (hell, it can’t get much more complicated than document.createElement() and friends).

So Dojo’s DTL implementation has a lot of the features you mention, but there is at least one large philosophical difference, namely that Django’s templating language keeps code out of templates, and so Dojo’s implementation follows suit. As with Dojo’s existing templating system, the goal is to allow developers and designers to iterate on templates independent of each other and given how successful folks have been with the existing system, this seems to have been a good choice although I totally get that reasonable people can disagree on this one. Templating is hard, and hard to satisfy everyone with.

As for the features you list, I think all of them are available in Dojo in some way, although the syntax may not be as terse for some, and because the design of Dojo is layered, not everything comes through a single object. I’ll send you mail.