Тег для подключения меню

    Пример использования::

        {% show_menu 'menu_slug' 2 class='menu-class' %}

    :param context: контекст шаблона
    :param slug: символьный код родительского пункта меню
    :param level: максимальный уровень вложенности
    :param kwargs: html атрибуты оборачивающего тега
    :return:

def show_menu(context, slug, level=2, **kwargs):
    """
    Тег для подключения меню

    Пример использования::

        {% show_menu 'menu_slug' 2 class='menu-class' %}

    :param context: контекст шаблона
    :param slug: символьный код родительского пункта меню
    :param level: максимальный уровень вложенности
    :param kwargs: html атрибуты оборачивающего тега
    :return:
    """
    try:
        menu = Menu.objects.published().get(slug=slug)
        menus = menu.get_descendants().all()
        mark_current_menus(menus, context['request'].path_info)
        max_level = menu.level + level
        return {'menus': menus, 'max_level': max_level, 'data': kwargs}
    except Menu.DoesNotExist:
        return None