class_docstr: Common behavior shared between :class:`~flask.Flask` and
  :class:`~flask.blueprints.Blueprint`.
  
  :param import_name: The import name of the module where this object
      is defined. Usually :attr:`__name__` should be used.
  :param static_folder: Path to a folder of static files to serve.
      If this is set, a static route will be added.
  :param static_url_path: URL prefix for the static route.
  :param template_folder: Path to a folder containing template files.
      for rendering. If this is set, a Jinja loader will be added.
  :param root_path: The path that static, template, and resource files
      are relative to. Typically not set, it is discovered based on
      the ``import_name``.
  
  .. versionadded:: 2.0
class_docstr_tok: ["Common","behavior","shared","between",":","class",":","`","~flask.Flask","`","and",":","class",":","`","~flask.blueprints.Blueprint","`",".",":","param","import_name",":","The","import","name","of","the","module","where","this","object","is","defined",".","Usually",":","attr",":","`","__name__","`","should","be","used",".",":","param","static_folder",":","Path","to","a","folder","of","static","files","to","serve",".","If","this","is","set",",","a","static","route","will","be","added",".",":","param","static_url_path",":","URL","prefix","for","the","static","route",".",":","param","template_folder",":","Path","to","a","folder","containing","template","files",".","for","rendering",".","If","this","is","set",",","a","Jinja","loader","will","be","added",".",":","param","root_path",":","The","path","that","static",",","template",",","and","resource","files","are","relative","to",".","Typically","not","set",",","it","is","discovered","based","on","the","``","import_name","``",".","..","versionadded",":",":","2.0"]
docstr: Registers a template context processor function. These functions run before
  rendering a template. The keys of the returned dict are added as variables
  available in the template.
  
  This is available on both app and blueprint objects. When used on an app, this
  is called for every rendered template. When used on a blueprint, this is called
  for templates rendered from the blueprint's views. To register with a blueprint
  and affect every template, use :meth:`.Blueprint.app_context_processor`.
docstr_tok: ["Registers","a","template","context","processor","function",".","These","functions","run","before","rendering","a","template",".","The","keys","of","the","returned","dict","are","added","as","variables","available","in","the","template",".","This","is","available","on","both","app","and","blueprint","objects",".","When","used","on","an","app",",","this","is","called","for","every","rendered","template",".","When","used","on","a","blueprint",",","this","is","called","for","templates","rendered","from","the","blueprint","'s","views",".","To","register","with","a","blueprint","and","affect","every","template",",","use",":","meth",":","`",".Blueprint.app_context_processor","`","."]
code: def context_processor(
      self,
      f: T_template_context_processor,
  ) -> T_template_context_processor:
      """Registers a template context processor function. These functions run before
      rendering a template. The keys of the returned dict are added as variables
      available in the template.
  
      This is available on both app and blueprint objects. When used on an app, this
      is called for every rendered template. When used on a blueprint, this is called
      for templates rendered from the blueprint's views. To register with a blueprint
      and affect every template, use :meth:`.Blueprint.app_context_processor`.
      """
      self.template_context_processors[None].append(f)
      return f
  
imports: from __future__ import annotations
  import importlib.util
  import os
  import pathlib
  import sys
  import typing
  from collections import defaultdict
  from functools import update_wrapper
  from jinja2 import FileSystemLoader
  from werkzeug.exceptions import default_exceptions
  from werkzeug.exceptions import HTTPException
  from werkzeug.utils import cached_property
  from ..None import typing
  from ..cli import AppGroup
  from ..helpers import get_root_path
  from ..templating import _default_template_ctx_processor
label_desc: Use image node_id 22 for calling the Scaffold obj's underlying member method code with example usage: obj.context_processor(f) and returns: f