Посты не отображаются на Djangohomepage при добавлении пагинации в постах и категориях

Я где-то ошибся и не понял. До пагинации мои все посты и категории работали правильно. После пагинации мои все предыдущие посты не отображаются. Я делюсь своими кодами, поэтому прошу помочь мне решить эту проблему.

views.py:

from django.shortcuts import render, redirect
from django.http import HttpResponse, HttpResponseRedirect
from blog.models import Post
from blog.models import Category
from .forms import ContactForm
from django.shortcuts import get_object_or_404
from django.views.generic.list import ListView
#from django.views import generic
from django.core.paginator import Paginator
from django.views import View

# Create your views here.


'''
# this is my older working code before pagination
def allpost(request):
    #post = Post.objects.all()
    post = Post.objects.all().order_by('-public_date')
    # 'public_date' taken from 'ordering = ['-public_date']' from class meta in models.py

    return render(request,'posts.html',{'posts':post})
'''


def allpost(request):
    PostData = Post.objects.all().order_by('-public_date')
    paginator = Paginator(PostData, 5)
    page_number = request.GET.get('page')
    PostDataFinal = paginator.get_page(page_number)
    totalpage = PostDataFinal.paginator.num_pages

    data = {
        #'Post': PostDataFinal,
        'PostData': PostDataFinal,
        'lastpage': totalpage,
        'totalpagelist': [n + 1 for n in range(totalpage)]
    }
    return render(request, 'posts.html', data)


def CategoryView(request, page):   # here cats is same which mentioned in dynamic url.
    category_posts = Post.objects.filter(category__title=cats)
    paginator = Paginator(article_list, 2)
    page_number = request.GET.get('page')
    totalpages = paginator.get_page(page)

    context = {
        'category_posts':category_posts,
        'lastpage':totalpages,
        'articlespageslist':[n + 1 for n in range(totalpages)]
    }
    return render(request, 'categories.html', {context})


def detail(request,blog_id):
    detail = get_object_or_404(Post, pk = blog_id)
    return render(request,'details.html',{'post':detail})

urls.py:

from django.urls import path
from blog import views
from django.conf import settings
from django.conf.urls.static import static
from blog.views import successView

urlpatterns = [
    path('',views.allpost,name="allpost"),
    path('search', views.search, name="search"),
    path('contact/', views.contact, name="contact"),
    path('success/', views.successView, name="success"),
    path('category/<str:cats>/', views.CategoryView, name ="category"),
    path('category/page/<int:page>', views.CategoryView , name="category_list"),
    path('<int:blog_id>/',views.detail,name="detail"),
] + static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

posts.html:-

Я запутался, пожалуйста, помогите мне найти проблему.

Вернуться на верх