Django pagination

Merhaba arkadaşlar bir tablom için pagination yapıyorum yalnız şöyle garip bir durum ile karşılaşıyorum.Sayfalama geliyor fakat Linkler gelmiyor.Kodlarımı ve ekran görüntüsünü paylaşıyorum

‘’’

{% if kitap_liste.has_previous %} « first previous {% endif %}
    <span class="current">
        Page {{ kitap_liste.number }} of {{ kitap_liste.paginator.num_pages }}.
    </span>

    {% if contacts.has_next %}
        <a href="?page={{ kitap_liste.next_page_number }}">next</a>
        <a href="?page={{ kitap_liste.paginator.num_pages }}">last &raquo;</a>
    {% endif %}
</span>

‘’’

‘’’
def kutuphanem(request):

kitaplar = kutuphane_kitaplari.objects.filter(author = request.user)

paginator = Paginator(kitaplar,10)

page = request.GET.get('page')

try:
    kitap_liste=paginator.page(page)
except PageNotAnInteger:
    kitap_liste=paginator.page(1)

except EmptyPage:
    kitap_liste = paginator.page(paginator.num_pages)

context ={

    'kitap_liste':kitap_liste
}
return render(request,'kutuphanem.html',context)

‘’’

paginator fonksiyonum

def paginator(request, queryset):
    paginator = Paginator(queryset, settings.PAGE_SIZE)
    page = request.GET.get('page')
    try:
        contacts = paginator.page(page)
    except PageNotAnInteger:
        contacts = paginator.page(1)
    except EmptyPage:
        contacts = paginator.page(paginator.num_pages)
    return contacts

template

    
{% if queryset.has_previous or queryset.has_next %}
<div flex="jc-c" general="txt-m br-1" style="margin-top: 60px;">
    <span general="txt-m bg-secondary br-1" style="padding: 6px;">
    {% if queryset.has_previous %}
    <a general="bg-success c-white b-2" href="?page={{ queryset.previous_page_number }}" style="padding: 6px 12px;">
      previous
    </a>
    {% endif %}
    <span style="padding: 6px;">{{ queryset.number }} | {{ queryset.paginator.num_pages }}</span> 
    {% if queryset.has_next %}
    <a general="bg-primary c-white b-2" href="?page={{ queryset.next_page_number }}" style="padding: 6px 12px;">
      Next
    </a> {% endif %}
    </span>
</div>
{% endif %}

views.py dosyanda ilgilie yere aşağıdaki gibi kullanırsan

queryset= paginator(request, kitaplar.objects.all())

Bu şekilde kullanırsan hata vermeden çalışacaktır

senin hatan büyük ihtimal ile
paginator = Paginator(kitaplar,10) bu kısım bunun paginator = Paginator(kitaplar.objects.all(), 10)
şeklinde olmalıydı.

Teşekkür ederim.Sorunumu çözdüm
Template içerisindeki if döngüleri ile alaklı bir sorunmuş benimkisi sizin template dosyanız sorun çözmemde ilham oldu bana.tekrar teşekkür ederim

1 Beğeni

Resimdeki butonlar kendi tasariminiz mi yoksa bir framework mu kullaniyorsunuz?