介绍
这期内容当中小编将会给大家带来有关使用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做界面处理,这里是需要用到救赎,三个文件如下图所示,前面讲解过。
来到索引。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 %}