docs: def render(cls, data={}, _template=None, _layout=None, **kwargs):
          """
          Render the view template based on the class and the method being invoked
          :param data: The context data to pass to the template
          :param _template: The file template to use. By default it will map the module/classname/action.html
          :param _layout: The body layout, must contain {% include __template__ %}
          """
  
          # Invoke the page meta so it can always be set
          page_attr()
  
          # Add some global Mocha data in g, along with APPLICATION DATA
          vars = dict(
              __NAME__=__title__,
              __VERSION__=__version__,
              __YEAR__=utc_now().year
          )
          for k, v in vars.items():
              setattr(g, k, v)
  
          # Build the template using the method name being called
          if not _template:
              stack = inspect.stack()[1]
              action_name = stack[3]
              _template = build_endpoint_route_name(cls, action_name)
              _template = utils.list_replace([".", ":"], "/", _template)
              _template = "%s.%s" % (_template, cls.template_markup)
  
          data = data or {}
          data.update(kwargs)
          data["__template__"] = _template
  
          return render_template(_layout or cls.base_layout, **data)