:py:mod:`oioioi.base.templatetags.menu` ======================================= .. py:module:: oioioi.base.templatetags.menu Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: oioioi.base.templatetags.menu.GenerateMenuNode Functions ~~~~~~~~~ .. autoapisummary:: oioioi.base.templatetags.menu.generate_menu Attributes ~~~~~~~~~~ .. autoapisummary:: oioioi.base.templatetags.menu.register .. py:data:: register .. py:class:: GenerateMenuNode(registry) Bases: :py:obj:`django.template.Node` .. py:method:: render(context) Return the node rendered as a string. .. py:function:: generate_menu(parser, token) A template tag which produces the menu. Adds a ``menu`` key to the template context, which is a list of dictionaries, each represnting a single menu item. Each of them has two keys: ``name``, ``text`` and ``url``. Usage with default menu registry (:data:`oioioi.base.menu.menu_registry`): .. code-block:: html+django {% load menu %} {% generate_menu %} {% for item in menu %}
  • {{ item.text }}
  • {% endfor %} Usage with non-default menu registry: .. code-block:: html+django {% load menu %} {% generate_menu 'oioioi.base.admin.admin_menu_registry' %} {% for item in menu %}
  • {{ item.text }}
  • {% endfor %} It's also possible to pass a variable containing an instance of :class:`~oioioi.base.menu.MenuRegistry` as an argument.