Transifex is widely used to manage translation for Django projects, as well as internally. It does very well on gettext (PO) files. Django templates, however, are not one of its known formats. You can tell Transifex that they are HTML, in which case it takes something like this:
{% extends "base.html" %}
{% block "banner" %}
<h1>Hi there</h1>
<p>Banner text</p>
{% endblock "banner" %}
and turns it into:
<div>
<p>
{% extends "base.html" %}
{% block "banner" %}</p>
<h1>Hi there</h1>
<p>Banner text</p>
{% endblock "banner" %}</div>
An additional problem is that Transifex then treats the template markup as strings to be translated, forcing you to go through the file and tag each one as "locked" - and even then, I think that the markup counts against your word count.
Adding HTML comments around the Django template tags doesn't work either, because they become part of the template and get inserted into the final document. Commenting out template tags and then post-processing the file to remove them might work, but there's not necessarily any guarantee that Transifex would leave the comments alone, and, even if they did, this seems clunky and error-prone.
I'm hoping that someone has a better strategy that lets you hand a template to Transifex without it getting munched.