1.优化:1)显示当前页码标记2)页码不要太多,影响用户体验但有页面不存在:思路,第一页使用max,min最后一页:#views.pydefblog_list(request):blogs_all_list=Blog.objects.all()paginator=Paginator(blogs_all_list,2)#每10篇文章分页page_num=request.GET.get("page",1)#获取url的页面参数(GET)请求page_of_blogs=paginator.get_page(page_num)#自动识别和转换处理,如果page=0会自动转换为1current_page_num=page_of_blogs.number#获取当前页码#获取当前页码当前页前后2页的页码范围page_range=list(range(max(current_page_num-2,1),current_page_num))+\list(range(current_page_num,min(current_page_num+2,paginator.num_pages)+1))#paginator.num_pages:总页数增加,页码可以跳转直接到第一页和最后一页#views.pydefblog_list(request):...#添加省略页码标记ifpage_range[0]-1>=2:page_range.insert(0,'...')#0表示位置,后面的省略号表示要插入的内容ifpaginator.num_pages-page_range[-1]>=2:page_range.append('...')#使用append在末尾插入省略号页码#添加第一页和最后一页ifpage_range[0]!=1:page_range.insert(0,1)ifpage_range[-1]!=paginator.num_pages:page_range.append(paginator.num_pages)现在省略号可以点击了,一般是不允许点击的,所以需要判断:blog\_list.html把下面转到总页数:居中页码:修改blog.css中的paginator属性:使用设置:#settings.py#自定义参数EACH_PAGE_BLOGS_NUMBER=7
