docs: def render_from_tag(
          cls, context, max_levels=None, use_specific=None,
          apply_active_classes=True, allow_repeating_parents=True,
          use_absolute_page_urls=False, add_sub_menus_inline=None,
          template_name='', **kwargs
      ):
          """
          A template tag should call this method to render a menu.
          The ``Context`` instance and option values provided are used to get or
          create a relevant menu instance, prepare it, then render it and it's
          menu items to an appropriate template.
  
          It shouldn't be neccessary to override this method, as any new option
          values will be available as a dict in `opt_vals.extra`, and there are
          more specific methods for overriding certain behaviour at different
          stages of rendering, such as:
  
              * get_from_collected_values() (if the class is a Django model), OR
              * create_from_collected_values() (if it isn't)
  
              * prepare_to_render()
              * get_context_data()
              * render_to_template()
          """
          instance = cls._get_render_prepared_object(
              context,
              max_levels=max_levels,
              use_specific=use_specific,
              apply_active_classes=apply_active_classes,
              allow_repeating_parents=allow_repeating_parents,
              use_absolute_page_urls=use_absolute_page_urls,
              add_sub_menus_inline=add_sub_menus_inline,
              template_name=template_name,
              **kwargs
          )
          if not instance:
              return ''
          return instance.render_to_template()