0

I get empty page errors trying to Page my posts. I have 7 posts but I get a blank page error when I want to go to Page seven and i can't see my last post.

    new_list = list(zip(yeni_ders_tarih, yeni_ders_saat, yeni_ders_ismi,yeni_ders_ogretmen, 
    yeni_derslik, yeni_yoklama))

    paginator = Paginator(new_list, 1)
    
    sayfa = request.GET.get('post')

    page7 = paginator.page('7')
    page = page3.object_list 

    try:
        listeler = paginator.page(post)
    except PageNotAnInteger:
        listeler = paginator.page(1)
    except EmptyPage:
        listeler = paginator.page(1)

Also, I can get page seven manually.

return render(request, 'pages/ogrenci-profil.html', context={
'new_list':listeler,
'page':page
})

This is my template.html

<tbody>
    {% for a, b, c, d, e, f in new_list %}
      <tr>
          <td>{{ a }}</td>
          <td>{{ b }}</td>
          <td>{{ c }}</td>
          <td>{{ d }}</td>
          <td>{{ e }}</td>
          <td>
            {% if f == 'Katıldı' %}
              <div class="katildi">
                <div style="margin:10px;">{{ f }}</div>
              </div>
            {% else %}
              <div class="katilmadi">
                <div style="margin:10px;">{{ f }}</div>
              </div>
            {% endif %}
              
          </td>
     
      </tr>

</tbody>
    {% endfor %}  

This is manually get page seven

This is my page seven error

2 Answers2

0

Is your list new_list = list(zip(yeni_ders_tarih, yeni_ders_saat, yeni_ders_ismi,yeni_ders_ogretmen, yeni_derslik, yeni_yoklama)) has six elements only?

  • I mean, I have seven query sets. [(datetime.date(2021, 6, 26), datetime.time(17, 36, 40), 'Kimya', , 'EŞT-1', 'Katıldı'), (datetime.date(2021, 6, 26), datetime.time(17, 6, 13), 'Matematik', , 'SAY-2', 'Katılmadı'), like this – Cihat Asir Jun 27 '21 at 09:23
0

i don't know what have you written but you can do pagination like this:

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger


object_list = Model.objects.all()
page = request.GET.get('page', 1)

paginator = Paginator(object_list, 10)
try:
    objects = paginator.page(page)
except PageNotAnInteger:
    objects = paginator.page(1)
except EmptyPage:
    objects = paginator.page(paginator.num_pages)

return render(request, 'page.html', { 'objects': objects })
Mojtaba Arezoomand
  • 2,140
  • 8
  • 23