怎么在python中使用Django框架实现在网页端分页呈现数据

  介绍

这篇文章将为大家详细讲解有关怎么在python中使用Django框架实现在网页端分页呈现数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

首先介绍Django中的paginator类.paginator是Django中提供的可以实现管理数据分页的类。

得到django.core  import  paginator

下面是本文用到的paginator中的属性和方法。

<强> paginator对象

1。构造:Paginator(列表,int):返回分页的整体对象。
2。page_range:返回页码列表[1、2、3、4…]
3。页面(num):返回num页的数据内容

<强>页对象

1。构造:Paginator对象的页面()方法返回页面对象。
2。数量:返回当前页的序号。
3。paginator:当前页面对象相关的paginator对象.page.paginator相当于paginator对象。

<>强。构造url。

#——urls . py - - - - - -   得到django.conf.urls  import  url   import 观点   urlpatterns =, (   ,#这个url构造在根目录下   ,#定义为& # 39;信息/数字& # 39;是为了传一个页面序号为参数给视图函数   ,#视图函数接收到这个数字为参数后,就可以调用对应页的数据呈现   ,#,例如我们输入www.xxx.com/info/3,视图函数就会接收到(请求,3)两个参数   ,url(" # 39; ^信息/(\ d *) & # 39;美元,views.info),   ]   # - - - - - - - - - - - -

<强> B。编写视图函数的逻辑。

#——-views.py -   得到django.shortcuts  import 渲染   #,这里的lcoation是定义的模型类,包含有若干条地名数据   得到models  import 位置   得到django.core  import  paginator      #,视图函数   #,同样,索引是url传进来的页面序号   def 信息(请求,指数):   ,#获取所有的的数据,列表是一个列表,包含有所有数据对应的实例对象=,,list  location.objects.all ()   ,#使用Paginator方法返回一个分页的对象   ,#这个对象包括所有数据,分页的情况=,,pag  paginator.Paginator(列表,3)   ,#使用此判断语句是为了在用户跳转www.xxx.com/info/时也能访问第一页   ,if 指数==& # 39;& # 39;:   ,指数=1   ,#返回指定(索引)页的数据,用于呈现在指定页上=,,page  pag.page(索引)   ,#构造上下文,以文便html件中能调用对应页的数据   ,context =, {   & # 39;才能页面# 39;:页面,   ,}   ,return 渲染(请求,& # 39;booktest/info.html& # 39;,上下文)   # - - - - - - - - - - - -

<强> C。模板文件。

#——-info.html - - - - - -   & lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   ,& lt; meta  charset=癠TF-8"比;   ,& lt; title> Title   & lt;/head>   & lt; body>   & lt; ul>   ,#视图函数传进来的上下文页面是指定页的数据   ,{%,for  each 拷贝page  %}   ,#遍历显示每条数据   ,& lt; li> {{, each.location_name }} & lt;/li>   ,{%,endfor  %}   & lt;/ul>   & lt; hr>   ,#这里是重点   ,#同样还是需要调用视图函数传进来的页面页的页码   ,# page.paginator得到页面的paginator对象   ,# page.pageinator.page_range  page_range可以返回页面列表(1、2、3、4……)   ,#遍历页面列表   ,{%,for  index 拷贝page.paginator.page_range  %}   #,才能page.number是视图函数现在呈现页的页码   #才能,这个页码不需要做超链接   ,,{%,if  index ==, page.number  %}   & lt;才能span> {{, index }} & lt;/span>   ,,{%,else  %}   #,才能生成每页超链接   #,才能点击每一个数字对应的链接就是& # 39;/信息/点击的页数& # 39;   #才能,这样在url解析的时候,又可以把这一页的编号传给视图函数   #,才能视图函数根据这个页码呈现对应的内容   ,,& lt; a  href=https://www.yisu.com/zixun/?信息/{{指数}}”rel="外部nofollow”>{{指数}}   {% endif %}   {% endfor %}      身体      # - - - - - - - - - - - -

关于怎么在python中使用Django框架实现在网页端分页呈现数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在python中使用Django框架实现在网页端分页呈现数据