A templatetag framework for easier integration of `mustache.js`_, `dust.js`_,`handlebars.js`_, or other JavaScript templates with Django templates. Also willwrap your templates in elements expected for libraries such as `ICanHaz.js`_.Django-jstemplates is extensible, so if your favorite template library is notincluded, it's easy to add. Inspired by `django-icanhaz`_.

The collision between Django templates' use of ``{{`` and ``}}`` as templatevariable markers and `mustache.js`_' use of same has spawned a variety ofsolutions. `One solution`_ simply replaces ``[[`` and ``]]`` with ``{{`` and``}}`` inside an ``mustachejs`` template tag; `another`_ makes a valiant attemptto reconstruct verbatim text within a chunk of a Django template after it hasalready been mangled by the Django template tokenizer.

I prefer to keep my JavaScript templates in separate files in a dedicateddirectory anyway, to avoid confusion between server-side and client-sidetemplating. So this solution is essentially just an "include" tag that avoidsparsing the included file as a Django template.

- Use ``document.getElementById`` and ``innerHtml`` instead of depending on jQuery to get the text of handlebars templates.- Switch the order of precompiling and registering partials in handlebars tag, so that partials can used compiled template.

1.3.4-----

- Fix compatibility with Python 3.2. Explicity unicode literals (i.e., u'...') are not supported in Python 3.2 and cause a syntax error. Support was revived in Python 3.3. Python 2.6 and 2.7 allow using unicode string literals by default with `from __future__ import unicode_literals`, so we use that here.

1.3.3-----

- Sort translatable strings so that results are consistent across Python versions.

1.3.2-----

- All template renderers handle unicode characters.

1.3.1-----

- Bug fix: Closure that was registering Handlbars partials was not wrapped in parentheses.

1.3.0-----

- Add a short translation form::

{{ _ 'this is translatable' }}

1.2.1-----

- Allow optional precompiling and and registering of partials for the Handlebars.js tag. For example::

{% handlebarsjs '(.*)' precompile register_partials }

This will add a `templates` object to `Handlebars`, and register all templates for use as partials.

- Add the MUSTACHEJS_EXTS configuration variable for specifying the extensions allowed for template files located by the FilesystemFinder (and, by extension, the AppFinder).

0.3.3-----

- Add a package_data value to the setup call

0.3.2-----

- Add the MANIFEST.in file itself as an entry in MANIFEST.in.

0.3.0-----

- Change the name from django-icanhaz to django-mustachejs.- Remove dependency on ICanHaz.js. I like the library, but the maintainers were not responsive enough for now. Use Mustache.js straight, with a little bit of minimal sugar. Templates are rendered to straight Javascript.

0.2.0 (2011.06.26)-----

- Made template-finding more flexible: ``ICANHAZ_DIR`` is now ``ICANHAZ_DIRS`` (a list); added ``ICANHAZ_FINDERS``, ``ICANHAZ_APP_DIRNAMES``, and finding of templates in installed apps.