Django templates are designed to be designer (non-programmer) friendly, becase of its CMS/newspaper origins.
Mako's goal is to create a powerful, programmer friendly and FAST templating language .
A lot many times having code in templates is a faster way to develop, especially if the presentation layer is mostly intended to be used by a programmer.
Also, you can write mako code which has good separation of concerns.
How is :
<% for r in rows %>
${r.name}
<% endfor %>
As it happens, I advised him on template choice; I recommended both Jinja2 and Mako, and he ended up choosing Mako because it supports embedded arbitrary Python blocks, and Jinja2 does not.