Django自带分页

urls.py

 1 from django.conf.urls import url
 2 from django.contrib import admin
 3 from app01 import views
 4
 5
 6 urlpatterns = [
 7
 8 # 查看django自带的上一页和下一页
 9     url(r‘^index.html$‘, views.index),
10
11 ] 

views.py

 1 from django.shortcuts import render,HttpResponse
 2 from django.views import View
 3 from app01 import models
 4 from django.core.paginator import Paginator,Page,PageNotAnInteger,EmptyPage
 5 # django自带的分页
 6 def index(request):
 7     """
 8     分页
 9     :param request:
10     :return:
11     """
12     # 往用户信息的数据表内插入300条用户信息
13     # for i in range(301):
14     #     name="xuyuanyuan"+str(i)
15     #     models.Userinfo.objects.create(username=name,age=20,ut_id=2)
16
17     choise_page=request.GET.get("page")
18     user_list=models.Userinfo.objects.all()
19     # paginator=Paginator(user_list,10)分页处理,每一页10条数据
20     paginator=Paginator(user_list,10)
21     # per_page: 每页显示条目数量
22     # count:    数据总个数
23     # num_pages:总页数
24     # page_range:总页数的索引范围,如: (1,10),(1,200)
25     # page:     page对象
26
27     try:
28         result=paginator.page(choise_page)
29         # print(result)#QuerySet [<Userinfo: Userinfo object>, <Userinfo: Userinfo object>,
30         # 打印的result是一个个userinfo的对象
31         # print(result.object_list)
32     except PageNotAnInteger as e:
33         result=paginator.page(1)
34     except EmptyPage as e:
35         result=paginator.page(1)
36
37     # has_next              是否有下一页
38     # next_page_number      下一页页码
39     # has_previous          是否有上一页
40     # previous_page_number  上一页页码
41     # object_list           分页之后的数据列表
42     # number                当前页
43     # paginator             paginator对象
44
45     return render(request,"index.html",{"result":result})

index.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <h1>用户列表</h1>
 9 <ul>
10     {% for i in result.object_list %}
11         <li>姓名:{{ i.username }}</li>
12     {% endfor %}
13 </ul>
14 <div>
15     {% if result.has_previous %}
16         <a href="/index.html?page={{ result.previous_page_number }}">上一页</a>
17     {% endif %}
18
19     {% if result.has_next %}
20         <a href="/index.html?page={{ result.next_page_number }}">下一页</a>
21     {% endif %}
22 </div>
23 </body>
24 </html>

时间: 2024-11-10 00:54:12

Django自带分页的相关文章

django 自带分页

使用django 自带分页功能: from django.core.paginator import Paginator,EmptyPage,PageNotAnInteget EmptyPage 是在超出页数时改怎么做 PageNotAnInteget 使用在异常中出现错误的时候该怎么做 objs = [1,2,3,4,5,6,7,8,9] p = Paginator(objs,3) 每页显示3个 p.count 打印的是 objs里有多少个内容 p.num_pages 显示有多少页 p.pag

Django自带分页功能

直接上代码: models.py django.db models Asset(models.Model):     OS_CHOICE = [         (, ),         (, ),         (, ),         (, ),         (, ),     ]     hostname = models.CharField(=, =, =)     ip = models.GenericIPAddressField(=, =)     port = model

django之快速分页

本文介绍djanog两种分页,第一是普通分页,第二是使用haystack全文检索的分页. 1.django自带分页功能,这个功能非常好用.基本知识点:Django提供了数据分页的类,这些类被定义在django/core/paginator.py中对象Paginator用于对列进行一页n条数据的分页运算对象Page用于表示第m页的数据Paginator对象 方法init(列表,int):返回分页对象,参数为列表数据,每面数据的条数属性count:返回对象总数属性num_pages:返回页面总数属性

django学习2分页

在django中有一个分页的函数,但是我个人觉得不是很好,有的功能不能定制感觉有点不方便,在另外一方面出于学习的目的,我又自己写了一遍分页的代码用户来实现定制化的内容,在django中自带的分页函数是这样的(django-pagination)使用的时候只需要调用一下就可以了. 现在我们自己来实现一下分页的功能,这个是最后调用的格式 from django.shortcuts import render_to_response from DjangoBlog.blog import models

django中orm分页功能(内置分页)

分批获取数据的方法 数据库方法 models.Uinfo.objects.all()[10:20] django自带的方法 创建一个新的url urlpatterns = [ url(r'^index.html/', views.index), ] 创建index函数 def index(request): """ 分页功能 :param request: :return: """ user_list = models.Uinfo.objects

django_自带分页_自定制

一.自带分页,一些常用参数 注明函数中的paginator.page(current_page)更多的使用在html页面,current_page用来接收前端返回的页数值 import 引入 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 负责后台处理的Paginator函数 paginator = Paginator(USER_LIST,10)两个参数分别接收,数据库中的总条数,和每页显示多少条,

thinkphp自带分页类

thinkphp自带分页使用案例: $Data = M('Data'); // 实例化Data数据对象  date 是你的表名     import('ORG.Util.Page');// 导入分页类     $count = $Data->where($map)->count();// 查询满足要求的总记录数 $map表示查询条件     $Page = new Page($count);// 实例化分页类 传入总记录数     $show = $Page->show();// 分页显

Django打造在线教育平台_day_3: 搭建后台管理系统Django自带的admin

1.后台管理系统的特点:权限管理.少前端样式.快速开发 2.Django自带的admin后台管理系统,新建项目时会自动建立,admin也可以看成一个app 运行了程序打开链接:http://127.0.0.1:8000/admin/,就进入了后台管理系统登录页面 3.新建超级用户: Tools 工具栏运行 run manage.py Task 输入:createsuperuser,再根据提示输入用户名.邮箱.密码 4.登录成功: 5.把系统语言设置为中文与设置本地时间:修改MxOnline/se

django自带wsgi server vs 部署uwsgi+nginx后的性能对比

一.下面先交代一下测试云主机 cpu: [email protected]:/tmp/webbench-1.5# cat /proc/cpuinfo |grep model model : 69 model name : Intel(R) Core(TM) i5-4260U CPU @ 1.40GHz [email protected]:/tmp/webbench-1.5# mem: [email protected]:/tmp/webbench-1.5# free -m total used