docs: def template(tpl, template_adapter=SimpleTemplate, **kwargs):
      '''
      Get a rendered template as a string iterator.
      You can use a name, a filename or a template string as first parameter.
      '''
      if tpl not in TEMPLATES or DEBUG:
          settings = kwargs.get('template_settings',{})
          lookup = kwargs.get('template_lookup', TEMPLATE_PATH)
          if isinstance(tpl, template_adapter):
              TEMPLATES[tpl] = tpl
              if settings: TEMPLATES[tpl].prepare(settings)
          elif "\n" in tpl or "{" in tpl or "%" in tpl or '$' in tpl:
              TEMPLATES[tpl] = template_adapter(source=tpl, lookup=lookup, settings=settings)
          else:
              TEMPLATES[tpl] = template_adapter(name=tpl, lookup=lookup, settings=settings)
      if not TEMPLATES[tpl]:
          abort(500, 'Template (%s) not found' % tpl)
      kwargs['abort'] = abort
      kwargs['request'] = request
      kwargs['response'] = response
      return TEMPLATES[tpl].render(**kwargs)