python django分页组件的封装和使用

该博客介绍了一个自定义的Django分页组件,用于处理查询集并生成分页HTML。通过设置分页参数、页面大小和额外页数,实现动态显示当前页、首页、尾页和上一页、下一页的链接。此外,还提供了输入框以便用户直接跳转到指定页码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#__author:'joy'
#date:
from django.utils.safestring import mark_safe

class pagination():
    def __init__(self,request,queryset,page_param='page',page_size=10,plus = 5):
        page=request.GET.get(page_param,'1')
        if page.isdecimal():
            page=int(page)
        else:
            page=1
        self.page=page
        self.page_size=page_size
        self.start=(page - 1) * page_size
        self.end=page * page_size
        self.page_queryset=queryset[self.start:self.end]
        total_count=queryset.count()
        total_page_count, div = divmod(total_count, page_size)
        if div:
            total_page_count += 1
        self. total_page_count= total_page_count
        self.plus=plus
    def html(self):

       if self.total_page_count <= 2 * self.plus + 1: