django组件库,Django组件

  django组件库,Django组件

  姜戈的分页器(分页器)views.py

  从django .捷径导入呈现,HttpResponse

  #在此创建您的观点。

  从app01 .模型导入*

  从django.core.paginator导入分页器、EmptyPage、PageNotAnInteger

  定义索引(请求):

  批量导入数据:

  书单=[]

  对于范围内的我(100):

  书单。append(Book(title= Book str(I),price=30 i*i))

  Book.objects.bulk_create(图书列表)

  分页器的使用:

  book_list=Book.objects.all()

  paginator=Paginator(book_list,10)

  print(count:,paginator.count) #数据总数

  打印(页数,分页器。页数)#总页数

  print(page_range ,paginator.page_range) #页码的列表

  page1=paginator.page(1) #第一页的页,面,张,版对象

  对于第一页中的我:#遍历第一页的所有数据对象

  打印(一)

  打印(page1.object_list) #第一页的所有数据

  page2=paginator.page(2)

  print(page2.has_next()) #是否有下一页

  打印(page2.next_page_number()) #下一页的页码

  print(page2.has_previous()) #是否有上一页

  打印(page2.previous_page_number()) #上一页的页码

  # 抛错

  #page=paginator.page(12) #错误:EmptyPage

  #page=paginator.page(z) #错误:PageNotAnInteger

  book_list=Book.objects.all()

  paginator=Paginator(book_list,10)

  页面=请求GET.get(page ,1)

  currentPage=int(page)

  尝试:

  打印(第页)

  book_list=paginator.page(页面)

  除了PageNotAnInteger:

  book_list=paginator.page(1)

  除了EmptyPage:

  book _ list=paginator。页面(分页器。数量_页数)

  返回render(请求, index.html ,{book_list:book_list,分页器:分页器,当前页面:当前页面})视图。巴拉圭

  index.html

  !声明文档类型

  html lang=en

  头

  meta charset=UTF-8

  标题标题/标题

  link rel=样式表 href= https://cdn。bootcss。com/bootstrap/3。3 .7/CSS/自举。量滴 CSS

  integrity= sha 384-bvyiisifek 1 dgmjrakycuhahrg 32 omu cw7 on 3 rydg 4 va PMS tsz/k 68 vbdeh 4 u 交叉原点= anonymous

  /头

  身体

  差异

  h4分页器/h4

  保险商实验所

  { % for book _ list % }中的图书

  李{ {书。title } }-{ { book。价格} }/李

  {% endfor %}

  /ul

  ul id=寻呼机

  {% if book_list.has_previous %}

  阿利href=/index/?page={ { book _ list。上一页页码} } 上一页/a/李

  {% else %}

  阿利href=# 上一页/a/李

  {% endif %}

  { % for num in paginator。page _ range % }

  {% if num==currentPage %}

  阿利href=/index/?page={{ num }} {{ num }} /a /li

  {% else %}

  阿利href=/index/?page={{ num }} {{ num }} /a /li

  {% endif %}

  {% endfor %}

  {% if book_list.has_next %}

  阿利href=/index/?page={ { book _ list。下一页页码} } 下一页/a/李

  {% else %}

  阿利href=# 下一页/a/李

  {% endif %}

  /ul

  /div

  /body

  /html index.html

  扩展

  定义索引(请求):

  book_list=Book.objects.all()

  paginator=Paginator(book_list,15)

  页面=请求GET.get(page ,1)

  currentPage=int(page)

  # 如果页数十分多时,换另外一种显示方式

  如果paginator.num _第11页:

  如果当前页面-5 1:

  pageRange=range(1,11)

  elif当前页面5分页器。页数:

  pageRange=范围(当前页面-5,分页器。编号_页面1)

  否则:

  pageRange=范围(当前页面-5,当前页面5)

  否则:

  pageRange=paginator.page_range

  尝试:

  打印(第页)

  book_list=paginator.page(页面)

  除了PageNotAnInteger:

  book_list=paginator.page(1)

  除了EmptyPage:

  book _ list=paginator。页面(分页器。数量_页数)

  返回render(request, index.html ,locals())views.py

  cnblog项目views.py

  快捷方式导入渲染,重定向,HttpResponse

  #在此创建您的观点。

  从。模型导入手册

  从django.core.paginator导入空白页分页器

  定义索引(请求):

  # 批量导入数据

  # book_list=[]

  #对于范围内的我(100):

  # book=Book(title=book_%s % i,price=i * i)

  # book_list.append(图书)

  #书。对象。批量创建(book _ list)#批量插入多条数据

  # return render(请求, index.html ,局部变量())

  book _ list=book。对象。all()#查询集列表

  # 分页器

  paginator=Paginator(book_list,10)

  打印(数据总数:,paginator.count)

  打印(总页数,paginator.num_pages)

  打印(页码列表,paginator.page_range)

  当前页面编号=int(请求GET.get(page ,1))

  如果paginator.num _第11页:

  如果当前页号为1:

  page_range=range(1,12)

   否则如果当前页数5分页器页数:

  page_range=范围(分页器。编号_页数- 10,分页器。编号_页数1)

  否则:

  page_range=范围(当前页码- 5,当前页码-6)

  否则:

  page _ range=分页器。页面范围

  尝试:

  current_page=paginator.page(当前页面编号)

  # 显示某一页具体数据的两种方式

  print(object_list ,current_page.object_list)

  对于当前页面中的我:

  打印(一)

  除了e:

  current_page=paginator.page(1)

  返回render(request, index.html ,locals())views.py

  努力成为一个开发者个人站点:www.pythonav.cn

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: