django_simple_nav.nav¶
Module Contents¶
Classes¶
A dict subclass that can render itself as HTML in templates. |
|
Functions¶
Build a NavItemContext for a nav item, recursively wrapping children. |
Data¶
API¶
- django_simple_nav.nav.logger¶
‘getLogger(…)’
- django_simple_nav.nav.USER_ATTRIBUTE_PERMISSIONS¶
‘frozenset(…)’
- class django_simple_nav.nav.NavItemContext(data: dict[str, object], *, nav_item: django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem | None = None, request: django.http.HttpRequest | None = None)¶
Bases:
dictA dict subclass that can render itself as HTML in templates.
Supports both dict-style access ({{ item.title }}) and self-rendering ({{ item }}) in Django templates. Rendering is lazy — the item’s template is only loaded and rendered when {{ item }} is used, not on construction.
Initialization
Initialize self. See help(type(self)) for accurate signature.
- __str__() → str¶
- __html__() → str¶
- _render() → str¶
- django_simple_nav.nav._build_renderable_context(item: NavGroup | NavItem, request: django.http.HttpRequest) → django_simple_nav.nav.NavItemContext¶
Build a NavItemContext for a nav item, recursively wrapping children.
- class django_simple_nav.nav.Nav(*, template_name: str | None = None, items: list[django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem] | None = None)¶
Initialization
- template_name: str | None¶
‘field(…)’
- render(request: django.http.HttpRequest, template_name: str | None = None) → str¶
- get_context_data(request: django.http.HttpRequest) → dict[str, object]¶
- get_items(request: django.http.HttpRequest) → list[django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem]¶
- get_template(template_name: str | None = None) → django_simple_nav._typing.EngineTemplate¶
- get_template_name() → str¶
- class django_simple_nav.nav.NavItem¶
- title: str¶
None
- url: str | collections.abc.Callable[..., str] | django.utils.functional.Promise | None¶
None
- permissions: list[str | collections.abc.Callable[[django.http.HttpRequest], bool]]¶
‘field(…)’
- extra_context: dict[str, object]¶
‘field(…)’
- append_slash: bool | None¶
None
- template_name: str | None¶
None
- get_context_data(request: django.http.HttpRequest) → dict[str, object]¶
- get_template_name() → str¶
- render(request: django.http.HttpRequest) → str¶
- get_title() → str¶
- get_url() → str¶
- get_active(request: django.http.HttpRequest) → bool¶
- get_items(request: django.http.HttpRequest) → list[django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem] | None¶
- check_permissions(request: django.http.HttpRequest) → bool¶
- class django_simple_nav.nav.NavGroup¶
Bases:
django_simple_nav.nav.NavItem- items: list[django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem]¶
‘field(…)’
- get_template_name() → str¶
- get_context_data(request: django.http.HttpRequest) → dict[str, object]¶
- get_items(request: django.http.HttpRequest) → list[django_simple_nav.nav.NavGroup | django_simple_nav.nav.NavItem]¶
- get_url() → str¶
- get_active(request: django.http.HttpRequest) → bool¶
- check_permissions(request: django.http.HttpRequest) → bool¶