Skip to content

breadcrumbs

django_spire.contrib.navigation.breadcrumbs

Breadcrumbs

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __init__(self) -> None:
    self.items: list[_Breadcrumb] = []
    self.index: int = 0

items = [] instance-attribute

index = 0 instance-attribute

__add__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __add__(self, other: Breadcrumbs) -> Self:
    self.items += other.items
    return self

__iadd__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __iadd__(self, other: Breadcrumbs) -> Self:
    self.items += other.items
    return self

__iter__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __iter__(self) -> Breadcrumbs:
    self.index = 0
    return self

__len__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __len__(self) -> int:
    return len(self.items)

__next__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __next__(self) -> _BreadcrumbDict:
    if self.index >= len(self.items):
        raise StopIteration

    breadcrumb_item = self.items[self.index]
    self.index += 1
    return breadcrumb_item.to_dict()

__str__

Source code in django_spire/contrib/navigation/breadcrumbs.py
def __str__(self) -> str:
    return str(self.items)

add

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add(
    self,
    name: str,
    view_name: str | None = None,
    view_kwargs: dict[str, Any] | None = None,
    href: str | None = None,
) -> None:
    self.items.append(
        _Breadcrumb(name=name, view_name=view_name, view_kwargs=view_kwargs, href=href)
    )

add_model_plural_name

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_model_plural_name(
    self,
    model: type[Model] | Model,
    view_name: str | None = None,
    view_kwargs: dict[str, Any] | None = None,
    href: str | None = None,
) -> None:
    self.add(
        name=model._meta.verbose_name_plural.title(),
        view_name=view_name,
        view_kwargs=view_kwargs,
        href=href,
    )

add_model_name

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_model_name(
    self,
    model: type[Model] | Model,
    view_name: str | None = None,
    view_kwargs: dict[str, Any] | None = None,
    href: str | None = None,
) -> None:
    self.add(
        name=model._meta.verbose_name.title(),
        view_name=view_name,
        view_kwargs=view_kwargs,
        href=href,
    )

add_model_instance_string

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_model_instance_string(
    self, model: Model, view_name: str | None = None, view_kwargs: dict[str, Any] | None = None
) -> None:
    self.add(name=str(model), view_name=view_name, view_kwargs=view_kwargs)

add_model_instance_form_action

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_model_instance_form_action(self, model: Model) -> None:
    self.add(name=form_action_name(has_pk=model.pk is not None))

add_breadcrumb

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_breadcrumb(
    self,
    name: str,
    view_name: str | None = None,
    view_kwargs: dict[str, Any] | None = None,
    href: str | None = None,
) -> None:
    self.add(name=name, view_name=view_name, view_kwargs=view_kwargs, href=href)

add_model_instance_breadcrumb

Source code in django_spire/contrib/navigation/breadcrumbs.py
def add_model_instance_breadcrumb(
    self, model: Model, view_name: str | None = None, view_kwargs: dict[str, Any] | None = None
) -> None:
    self.add(name=str(model), view_name=view_name, view_kwargs=view_kwargs)

remove

Source code in django_spire/contrib/navigation/breadcrumbs.py
def remove(self, index: int) -> Breadcrumbs:
    del self.items[index]
    return self

reverse

Source code in django_spire/contrib/navigation/breadcrumbs.py
def reverse(self) -> Breadcrumbs:
    self.items.reverse()
    return self

as_context

Source code in django_spire/contrib/navigation/breadcrumbs.py
def as_context(self) -> dict[str, Any]:
    return {'breadcrumbs': self.items}