class_docstr: Works like a regular Jinja2 environment but has some additional
  knowledge of how Flask's blueprint works so that it can prepend the
  name of the blueprint to referenced templates if necessary.
class_docstr_tok: ["Works","like","a","regular","Jinja2","environment","but","has","some","additional","knowledge","of","how","Flask","'s","blueprint","works","so","that","it","can","prepend","the","name","of","the","blueprint","to","referenced","templates","if","necessary","."]
code: def __init__(self, app: App, **options: t.Any) -> None:
      if "loader" not in options:
          options["loader"] = app.create_global_jinja_loader()
      BaseEnvironment.__init__(self, **options)
      self.app = app
  
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 1 to create a new Environment object from inherited base classes: BaseEnvironment with example: obj = Environment(app)