class_docstr: A loader that looks for templates in the application and all
  the blueprint folders.
class_docstr_tok: ["A","loader","that","looks","for","templates","in","the","application","and","all","the","blueprint","folders","."]
code: def list_templates(self) -> list[str]:
      result = set()
      loader = self.app.jinja_loader
      if loader is not None:
          result.update(loader.list_templates())
  
      for blueprint in self.app.iter_blueprints():
          loader = blueprint.jinja_loader
          if loader is not None:
              for template in loader.list_templates():
                  result.add(template)
  
      return list(result)
  
imports: from __future__ import annotations
  import typing
  from jinja2 import BaseLoader
  from jinja2 import Environment
  from jinja2 import Template
  from jinja2 import TemplateNotFound
  from .globals import _cv_app
  from .globals import _cv_request
  from .globals import current_app
  from .globals import request
  from .helpers import stream_with_context
  from .signals import before_render_template
  from .signals import template_rendered
label_desc: Use image node_id 6 for calling the DispatchingJinjaLoader obj's underlying member method code with example usage: obj.list_templates() and returns: list