У меня есть представление на основе классов, и я пытаюсь внедрить в него хлебные крошки.
Я использую django - bootstrap -breadcrumbs & django -view-breadcrumbs, но из-за нашей уникальной структуры URL у нас есть идентификатор в URL почти всех URL.
Я правильно настроил панировочные сухари, но мне нужно получить person_id
kwarg в атрибуте 'крошки' в URL-адресах ListView
, которые выглядят следующим образом:
path(
"<person_id>/trees/",
views.TreeListView.as_view(),
name="tree_list",
),
path(
"<person_id>/trees/<pk>/",
views.TreeDetailView.as_view(),
name="tree_view",
),
path(
"<person_id>/trees/<tree_id>/planes/",
views.PlaneListView.as_view(),
name="plane_list",
),
path(
"<person_id>/trees/<tree_id>/cord/<pk>/",
views.CordDetailView.as_view(),
name="cord_view",
),
Я настроил свой вид в соответствии с документацией:
class TreeListView(
LoginRequiredMixin,
UserPassesTestMixin,
ListBreadcrumbMixin,
ListView
):
# pylint: disable=too-many-ancestors
login_url = "/login/"
model = Tree
template_name = "tree_list"
crumbs = [('My Test Breadcrumb', reverse('tree_list', args=[self.kwargs["person_id"]]))]
Как вы можете видеть в последней строке - крошки - это то, что должно создавать хлебные крошки, которые отображаются на странице.
Проблема в том, что я получаю ошибку (которая кажется довольно очевидной), что с этим объектом нет элемента 'self'.
У меня вопрос - как мне получить person_id
из URL, чтобы Я могу передать его в качестве аргумента URL?