== debugging jinja == The quickest way to understand what jinja is doing under the covers is to dump the internal code it compiles.
# lib/python2.7/site-packages/jinja2/environment.py
   553     @internalcode
   554     def compile(self, source, name=None, filename=None, raw=False,
   555                 defer_init=False):
               ...
   575         source_hint = None
   576         try:
   577             if isinstance(source, string_types):
   578                 source_hint = source
   579                 source = self._parse(source, name, filename)
   580             source = self._generate(source, name, filename,
   581                                     defer_init=defer_init)
   582             import q; q(source)
   583             if raw:
   584                 return source
   585             if filename is None:
   586                 filename = '