Çözüldü: django liste görünümü

Son Güncelleme: 09/11/2023

Liste görünümleriyle ilgili temel sorun, kullanımlarının zor olması ve kafa karıştırıcı olabilmeleridir.

 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>

Bu kod, sayfalandırmalı bir liste görünümü için sınıf tabanlı bir görünümdür. İlk dört satır sınıfı, kullanılacak modeli, kullanılacak şablonu ve kullanılacak bağlam verilerini tanımlar. Sonraki dört satır, get yöntemini ve yanıtı tanımlar. Son dört satır, get_context_data yöntemini tanımlar ve bağlam verilerini döndürür.

liste görünümü nedir

Liste görünümü, Django'da öğelerin listesini görüntüleyen bir pencere öğesidir.

İlgili Mesajlar: