Moduł menu

Założenia

Moduł stanowi komponent strony internetowej w postaci menu nawigacyjnego. Zapewnia możliwości stworzenia i zarządzania dwupoziomowym menu. Elementy zamieszczone w menu mogą odwoływać się do zarówno do elementów serwisu, jak również zewnętrznych. Zapewniona jest podstawowa weryfikacja odnośników wewnętrznych.

Dane testowe

Dla modułu menu nie możliwe jest w środowisku deweloperskim dynamicznie wygenerowanie generowanych danych testowych.

Architektura

Model

class watchdog_kj_kultura.menu.models.Element(id, created, modified, name, url, parent, visible, position)[źródło]
Parametry:
  • id (AutoField) – Id
  • created (AutoCreatedField) – Utworzono
  • modified (AutoLastModifiedField) – Zmodyfikowane
  • name (CharField) – Nazwa
  • url (CharField) – Url
  • parent_id (ForeignKey to watchdog_kj_kultura.menu.models.Element) – Rodzic
  • visible (BooleanField) – Zaznacz, aby oznaczyć szablon jako publicznie widoczny
  • position (SmallIntegerField) – Pozycja

Panel administracyjny

class watchdog_kj_kultura.menu.admin.ElementAdmin(model, admin_site)[źródło]

Admin View for Element

class watchdog_kj_kultura.menu.admin.ElementInline(parent_model, admin_site)[źródło]

Tabular Inline View for Element

model

alias klasy Element

Procesorzy kontekstu

watchdog_kj_kultura.menu.context_processors.menu(request)[źródło]

A context processor which provide menu in menu template variable.

Parametry:request (HttpRequest) – A django standard request object

Example

Menu render is very simple and effective. For example:

{% if menu %}
<ul>
    {% for el in menu %}
    <li>
        <a href="{{el.url}}">{{el}}</a>
        {% if el.children_set %}
        <ul>
        {% for child in el.children_set %}
            <li><a href="{{child.url}}">{{child}}</a>
        {% endfor %}
        </ul>
        {% endif %}
    </li>
    {% endfor %}
</ul>
{% endif %}