需求:在文章显示界面实现分页功能
具体实现:
views.py
def tzgg(request): Announcement_list=Notices.objects.filter(NoticeCategory='通知公告').order_by('-NoticeData') limit=13 paginator=Paginator(Announcement_list,limit) page=request.GET.get('page',1)#默认跳转到第一页 result=paginator.page(page) return render(request,'tzgg/tzgg.html',{'Announcement_list':result})
Paginato数据分页工具
前端显示界面:
<ul class="pagination"> <td> <span class="STYLE5"><<</span> </td> <td class="page"> <a href="/std_web/tzgg/?page=1">首页</a> </td> {% if Announcement_list.has_previous %} <td class="page"> <a href="/std_web/tzgg/?page={{ Announcement_list.previous_page_number }}">上页</a> </td> {% endif %} {% for num in Announcement_list.paginator.page_range %} <td class="page_number "><a href="/std_web/tzgg/?page={{ num }}">{{ num }}</a> </td> {% endfor %} {% if Announcement_list.has_next %} <td class="page"> <a href="/std_web/tzgg/?page={{ Announcement_list.next_page_number }}">下页</a> </td> {% endif %} <td class="page"><a href="/std_web/tzgg/?page={{ Announcement_list.paginator.num_pages }}">尾页</a> </td> <td> <span class="STYLE5">>></span> </td> </ul>
paginator.page_range为获取的总页数
相应js按照需求定义。