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 »</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?