在django中实现分页功能的方法

这篇文章主要讲解了在django中实现分页功能的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

1.在html页面中导入js文件和css文件

<link rel="stylesheet" href="../../../static/css/jquery.pagination.css" rel="external nofollow" >
<script type="text/javascript" src="../../../static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../static/js/jquery.pagination.min.js"></script>

2.写一个展示分页的div容器

<div id="pagination" class="page"></div>

3.前端分页逻辑

<script>
  $(function(){
    $("#pagination").pagination({
      currentPage:{{current_page}},
      totalPage:{{total_page}},
      callback:function(current){
      window.location.href = '&#63;page='+current
        }
     });
});
</script>

4.django获取当前页数,定义每页展示的数量,和返回数据等

from django.core.paginator import Paginator
def detail(request,id):
  category = models.Category.objects.all()
  news = models.News.objects.filter(cate=id).all()
  # 从url上获取当前请求的页数
  p = request.GET.get('page',1)
  current_page = int(p)
  # 每页显示的条数
  page_count = 1
  # 显示数据库数据,并且规定每页显示多少条数据
  page = Paginator(news,page_count)
  # 当前请求的页数
  news = page.get_page(current_page)
  # 显示的总页数
  total_page = page.num_pages
return render(request,'app1/news.html',locals())

django中的分页功能已经完成,效果图如下:

在django中实现分页功能的方法

看完上述内容,是不是对在django中实现分页功能的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。