docs: def init_app(self, app, session):
          """
              Will initialize the Flask app, supporting the app factory pattern.
  
              :param app:
              :param session: The SQLAlchemy session
  
          """
          app.config.setdefault("APP_NAME", "F.A.B.")
          app.config.setdefault("APP_THEME", "")
          app.config.setdefault("APP_ICON", "")
          app.config.setdefault("LANGUAGES", {"en": {"flag": "gb", "name": "English"}})
          app.config.setdefault("ADDON_MANAGERS", [])
          app.config.setdefault("FAB_API_MAX_PAGE_SIZE", 20)
          self.app = app
          if self.update_perms:  # default is True, if False takes precedence from config
              self.update_perms = app.config.get('FAB_UPDATE_PERMS', True)
          _security_manager_class_name = app.config.get('FAB_SECURITY_MANAGER_CLASS', None)
          if _security_manager_class_name is not None:
              self.security_manager_class = dynamic_class_import(
                  _security_manager_class_name
              )
          if self.security_manager_class is None:
              from flask_appbuilder.security.sqla.manager import SecurityManager
              self.security_manager_class = SecurityManager
  
          self._addon_managers = app.config["ADDON_MANAGERS"]
          self.session = session
          self.sm = self.security_manager_class(self)
          self.bm = BabelManager(self)
          self.openapi_manager = OpenApiManager(self)
          self._add_global_static()
          self._add_global_filters()
          app.before_request(self.sm.before_request)
          self._add_admin_views()
          self._add_addon_views()
          if self.app:
              self._add_menu_permissions()
          else:
              self.post_init()
          self._init_extension(app)