Решено: просмотр списка django

Основная проблема со списками заключается в том, что ими сложно пользоваться, и они могут сбивать с толку.

 with pagination

I am trying to create a listview with pagination in Django. I have tried the following code but it is not working:
<code>class MyListView(ListView):

    model = MyModel
    template_name = 'my_template.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        context['page'] = self.request.GET.get('page')

        return context

    def get(self, request, *args, **kwargs):
        response = super().get(request, *args, **kwargs)

        try:
            page = int(response.context['page']) - 1
            if page &lt; 0: page = 0  # first page is 1 not 0! (paginator bug?)
            response.context['previous'] = str(page) if page &gt; 0 else None  # None for first page! (paginator bug?)
            response.context['next']     = str(page + 2) if len(response.context['object_list']) == 10 else None  # None for last page! (paginator bug?)

        except KeyError: pass  # no 'page' in the context... means we're on the first one! (no previous!) or last one! (no next!) or something went wrong... just ignore it and don't add anything to the context then...

        return response    
</code>

Этот код представляет собой представление на основе классов для представления списка с разбиением на страницы. Первые четыре строки определяют класс, используемую модель, используемый шаблон и используемые контекстные данные. Следующие четыре строки определяют метод get и ответ. Последние четыре строки определяют метод get_context_data и возвращают данные контекста.

Что такое список

Список — это виджет в Django, который отображает список элементов.

Похожие посты:

Оставьте комментарий