使用Django怎么实现一个网页分页功能

  介绍

这期内容当中小编将会给大家带来有关使用Django怎么实现一个网页分页功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1。创建模型,代码如下:

得到django.db  import 模型      #,Create  your  models 这里。   class 商品(models.Model):=,,name  models.CharField (max_length=100)=,,des  models.CharField (max_length=1000)   ,class 元:   时间=db_table 才能;& # 39;商品# 39;

2。向数据库中添加数据,代码如下:

得到django.http  import  HttpResponse      得到.models  import 商品   import 随机   #,Create  your  views 这里。      def 指数(请求):   ,for  x 拷贝范围(200):   good 才能=,商品(name=& # 39;好% & # 39;% x, des=& # 39;该商品物美价廉,现在只需要{}元& # 39;.format (random.randint (10100)))   good.save才能()   ,return  HttpResponse(& # 39;数据添加成功& # 39;)

添加之后将代码就可以注释掉了,我们演示的时候再新建一个选择接口作为演示界面。

得到django.shortcuts  import 呈现   得到django.core.paginator  import  Paginator , PageNotAnInteger, EmptyPage      #,Create  your  views 这里。      def 选择(请求):   ,#查询数据库中的所有数据=,,good_list  Goods.objects.all ()   ,#值1:所有的数据   ,#值2:每一页的数据   ,#值3:当最后一页数据少于n条,将数据并入上一页=,,paginator  Paginator (good_list 12 3)      ,试一试:   #,才能得到请求方式,得到()获取指定关键值所对应的价值值   #,才能获取指数的值,如果没有,则设置使用默认值1   num 才能=,request.GET.get(& # 39;指数# 39;& # 39;1 & # 39;)   #,才能获取第几页   时间=number 才能;paginator.page (num)   ,except  PageNotAnInteger:   #才能,如果输入的页码数不是整数,那么显示第一页数据   时间=number 才能;paginator.page (1)   ,except  EmptyPage:   时间=number 才能;paginator.page (paginator.num_pages)      ,#将当前页页码,以及当前页数据传递到index . html   ,return 渲染(请求,& # 39;index . html # 39;,{& # 39;页面# 39;:数字,& # 39;paginator& # 39;: paginator})

下面我们在索引。html做界面处理,这里是需要用到救赎,三个文件如下图所示,前面讲解过。

使用Django怎么实现一个网页分页功能

来到索引。html文件,做如下设置:

{%, load  static  %}   & lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   ,& lt; meta  charset=癠TF-8"比;   ,& lt; link  rel=皊tylesheet" https://www.yisu.com/zixun/, href="{%静态的css/引导。css ' %} ">    - ->   <标题>淘宝   {%的页面。object_list %}   
{{good.name}} - {{good.des}}
  {% endfor %}      {#点击一个标签,跳转到上一页链接?指数为地址后面拼接的参数#}   上一页   李   {%其他%}   {#如果没有上一页,则上一页按钮不可点击#}   <李类="禁用">   上一页   李   {% endif %}      {% paginator page_number。page_range %}   {#获取当前页的页码#}   {%如果page_number==页面。数%}   {#如果是当前页的话,选中#}   <李类=盎钤尽?    {{page_number}}   李   {%其他%}   <李>    {{page_number}}   李   {% endif %}   {% endfor %}      {%如果页面。has_next %}   <李>   下一页   李   {%其他%}   <李类="禁用">   下一页   李   {% endif %}