LINUX.ORG.RU

Django ListView

 


1

1

Есть модель данных, к ней есть ListView. При заходе на url вызывается этот view, а также мне нужно передать дополнительные параметры. В TemplateView, при передаче параметров, они находятся в переменной params, которую можно получить, вызвав метод get_context_data. Но когда я вызываю этот метод в классе ListView, то такой переменной вообще нет. В документации я ничего дельного не нашёл. Как мне в этом view получить данные, которые передаются вместе с урл?

код, чтобы было понятнее:

# urls.py
url(r'^item/$', ItemIndex.as_view(), {'page_name': 'items'}),
url(r'^item/find/page/(?P<page>\d+)/$', ItemList.as_view(), {'page_name': 'items'}),
# views.py
class ItemIndex(TemplateView):
    def get_context_data(self, **kwargs):
        context = super(ItemIndex, self).get_context_data(**kwargs)
        context.update(context["params"])

class ItemList(ListView):
    model = Item
    paginate_by = 5
    def get_context_data(self, **kwargs):
        context = super(ItemList, self).get_context_data(**kwargs)
        context.update(context["params"])



Последнее исправление: memnek (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.