首页 > 其他分享 >Flask Model 做分页

Flask Model 做分页

时间:2023-06-02 17:11:44浏览次数:37  
标签:分页 Flask paginate per limit offset Model 页码 page

# 手动做分页
persons = Person.query.offset((page-1)) * per_page).limit(per_page)

# 1.手动翻页
#    offset().limit()
# 数据: 1,2,3,4,5,6,7,8,9,10
# 页码:page=1
# 每页显示数量: per_page=5
# page=1: 1,2,3,4,5  => offset(0).limit(5)
# page=2: 6,7,8,9,10 => offset(5).limit(5)
# page=n: ...        => offset((page-1)*per_page).limit(per_page)

# 使用paginate做分页
persons = Person.query.paginate(page=page,per_page=per_page,error_out=Flase).items

paginate对象的属性:
    items:返回当前页的内容列表
    has_next: 是否还有下一页
    has_prev: 是否还有上一页
    next(error_out=Flase): 返回下一页的Pagination对象
    prev(error_out=Flase): 返回上一页的Pagination对象
    page: 当前页的页码(从1开始)
    pages:总页数
    per_page: 每页显示的数量
    prev_num: 上一页页码数
    next_num: 下一页页码数
    query: 返回创建该Pagination对象的查询对象
    total: 查询返回的记录总数
    
# 2.paginate对象
@blue.route('/paginate/')
def get_pageinate():
    # 页码:默认显示第一页
    page = int(request.args.get('per_page', 1))  # 前端传过来的的page类型是字符串,所以需要int强转
    # per_page: 每页显示数据量
    per_page = int(request.args.get('per_page', 5)) # 前端传过来的per_page类型是字符串,所以需要int强转
    
    # paginate()
    p = User.query,paginate(page=page, per_page=per_page, error_out=Flase)
    # paginate对象的属性:
        items 返回当前页的内容列表
    print(p.items)
    print(page, type(page))
    print(per_page, type(per_page))
    
    
    
    

 

标签:分页,Flask,paginate,per,limit,offset,Model,页码,page
From: https://www.cnblogs.com/jiqiong/p/17452370.html

相关文章

  • app直播源代码,vue+Ant design a-table分页器使用
    app直播源代码,vue+Antdesigna-table分页器使用 vue+Antdesigna-table分页器使用 当前页current设置生效 <a-table:columns="columns":data-source="detail":pagination="pagination"rowKey="id"@change="tablePaginationChange"......
  • Flask 模型基础
    Flask模型Flask默认并没有任何数据库操作的API我们可以选择认可适合自己项目的数据库来使用Flask中可以根据自己的选择用原声语句实现功能,也可以选择ORM(SQIAlchemy、MongoEngine) ORMFlask用过Model操作数据库,不管你数据库的类型是Mysql或者Sqlite,Flask自动帮你生成相应数......
  • freemarker模板分页处理
    借鉴博客:https://www.cnblogs.com/zhouyu629/p/12433259.html  1、创建一个分页页面:page.html,里面只有分页的内容<#macrofpagepagepagesizetotalpagestotalrecordsurl><li><span>共${totalrecords}条记录&nbsp;&nbsp;第${page}页/共${totalpages}页</span&......
  • Flask 会话技术 cookies原理
    cookies#首页@blue.route('/')@blue.route('/home/')#装饰器可以用多个,这两个路由都能访问到home函数defhome()#4.获取cookieusername=request.cookies.get('user')returnrender_template('home.html',username=username)#......
  • 分页打印专题
    一、简单的分页打印实现在main.js中全局引入print.jsprint.js下载//引入print.jsimportprintfrom'@/utils/print.js'Vue.use(print)//注册在打印页面<divref="print"><divclass="no-print">不打印的内容</div><img:src=&quo......
  • Flask---框架入门
    一个最小的Flask应用看起来会是这样:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'HelloWorld!'if__name__=='__main__':app.run()把它保存为 hello.py (或是类似的),然后用Python解释器来运行。确保你......
  • Flask, Django - 区别
    Python测试开发中Django和Flask框架为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去。而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块......
  • Mybatis的五种分页方式详解
     第一种:LIMIT关键字1,mapper代码select*fromtb_userlimit#{pageNo},#{pageSize}2,业务层直接调用publicListfindByPageInfo(PageInfoinfo){returnuserMapper.selectByPageInfo(info);}3,优点灵活性高,可优化空间大mysql分页语句优化4,缺点实现复杂。 第......
  • 使用JPA实现分页和模糊查询
    1、首先创建DAO层接口,实现JpaRepository和JpaSpecificationExecutor两个接口JpaRepository<SysOperLog,Integer> 泛型参数分别是:要查询的实体(Entity),实体的主键类型JpaSpecificationExecutor<SysOperLog> 泛型参数:要查的实体 @RepositorypublicinterfaceSysOperLogReposit......
  • Flask-----轻量级的框架,快速的搭建程序(python)
     Flask是一个基于Python开发并且依赖jinja2模板和WerkzeugWSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借......