Django原生翻页

来源:互联网 发布:区域增长算法 编辑:程序博客网 时间:2024/06/08 17:51

Django翻页

在使用django时,我们难免会遇到翻页的情况,下面记录一下我的翻页的学习

#这里是我进行翻页的views.pyfrom django.core.paginator import Paginator,EmptyPage,PageNotAnIntegerdef users(request):              #这里是自己编写的获取用户信息的函数    user_list = models.UserInfo.objects.all()    #query用户的列表    current_page = request.GET.get('p')          #使用get方法来获取翻页的页数    paginator = Paginator(user_list,10)          #Paginator生成一个对象,然后传入queryset,    try:                                         #以及每页显示的个数,这里每页显示十个        page_obj = paginator.page(current_page)  #根据get方法取到的数字显示页数    except EmptyPage as e:                #如果get方法获取了一个没有的页数则显示第一页        page_obj = paginator.page(1)    except PageNotAnInteger as e:         #传入一个字符串也显示第一页        page_obj = paginator.page(1)    return render(request,'users.html',                  {'page_obj':page_obj})    返回page_obj对象

下面是html的模版

<body>      <table>          <thead>          <tr>              <th>用户名</th>              <th>密码</th>     #这里是表头              <th>邮箱</th>          </tr>          </thead>          <tbody>          {% for row in page_obj.object_list %}  #循环获取数据          <tr>              <td>{{ row.username }}</td>              <td>{{ row.password }}</td>              <td>{{ row.email }}</td>          </tr>          {% endfor %}          </tbody>      </table>        <div>            {% if page_obj.has_previous %} #如果这一页有上一页,则点击可跳转            <a href="/users?p={{page_obj.previous_page_number }}">上一页</a>            {% else %}               <a href="#">上一页</a>    #没有则不能跳转            {% endif %}            {% for i in page_obj.paginator.page_range %}            <a href="/users?p={{ i }}">{{i}}</a>  #中间的页码,可以跳转            {% endfor%}            {% if page_obj.has_next %}        #此页有下一页也继续跳转            <a href="/users?p={{page_obj.next_page_number }}">下一页</a>            {% else %}               <a href="#">一页</a>            {% endif %}        </div>        <span>            {{ page_obj.number }}/{{ page_obj.paginator.num_pages }} #当前页数/总页数        </span></body>

这里写图片描述

原创粉丝点击