当前位置: 首页>>代码示例>>Python>>正文


Python flask_sqlalchemy.Pagination方法代码示例

本文整理汇总了Python中flask_sqlalchemy.Pagination方法的典型用法代码示例。如果您正苦于以下问题:Python flask_sqlalchemy.Pagination方法的具体用法?Python flask_sqlalchemy.Pagination怎么用?Python flask_sqlalchemy.Pagination使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在flask_sqlalchemy的用法示例。


在下文中一共展示了flask_sqlalchemy.Pagination方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: paginate

# 需要导入模块: import flask_sqlalchemy [as 别名]
# 或者: from flask_sqlalchemy import Pagination [as 别名]
def paginate(self, items_per_page):
        """
        Sets up pagination based on request query arguments.
        Raises 404 is the page is out-of-bounds.

        :return: Flask-SQLAlchemy's Pagination wrapper.
        """
        try:
            page = int(request.args.get('page', 1))
        except ValueError:
            abort(400)
        if page < 1:
            abort(404)
        items = self.limit(items_per_page)\
                    .offset((page - 1) * items_per_page).all()
        if not items and page != 1:
            abort(404)
        if page == 1 and len(items) < items_per_page:
            total = len(items)
        else:
            total = self.order_by(None).count()
        return Pagination(self, page, items_per_page, total, items)


# Thread-local database session 
开发者ID:fedora-infra,项目名称:koschei,代码行数:27,代码来源:base.py

示例2: find

# 需要导入模块: import flask_sqlalchemy [as 别名]
# 或者: from flask_sqlalchemy import Pagination [as 别名]
def find(key_word):
    page=request.args.get('page',1,type=int)
    ajax=request.args.get('ajax','no')
    image_mode=request.args.get('image_mode')
    sortby=request.args.get('sortby')
    order=request.args.get('order')
    action=request.args.get('action','download')
    data,total=FetchData(path=key_word,page=page,per_page=50,sortby=sortby,order=order,dismiss=True,search_mode=True)
    pagination=Pagination(query=None,page=page, per_page=50, total=total, items=None)
    if ajax=='yes':
        retdata={}
        retdata['code']=0
        retdata['msg']=""
        retdata['total']=total
        retdata['data']=[]
        for d in data:
            info={}
            if d['type']=='folder':
                info['name']='<a href="'+url_for('.index',path=d['path'])+'">'+d['name']+'</a>'
            else:
                info['name']='<a href="'+url_for('.index',path=d['path'],action='share')+'" target="_blank">'+d['name']+'</a>'
            info['type']=d['type']
            info['lastModtime']=d['lastModtime']
            info['size']=d['size']
            info['path']=d['path']
            info['id']=d['id']
            retdata['data'].append(info)
        return jsonify(retdata)
    resp=MakeResponse(render_template('theme/{}/find.html'.format(GetConfig('theme'))
                    ,pagination=pagination
                    ,items=data
                    ,path='/'
                    ,sortby=sortby
                    ,order=order
                    ,key_word=key_word
                    ,cur_user='搜索:"{}"'.format(key_word)
                    ,endpoint='.find'))
    resp.set_cookie('image_mode',str(image_mode))
    resp.set_cookie('sortby',str(sortby))
    resp.set_cookie('order',str(order))
    return resp 
开发者ID:abbeyokgo,项目名称:PyOne,代码行数:43,代码来源:views.py

示例3: paginate

# 需要导入模块: import flask_sqlalchemy [as 别名]
# 或者: from flask_sqlalchemy import Pagination [as 别名]
def paginate(query, page, per_page=20, error_out=True):
	if error_out and page < 1:
		abort(404)
	items = query.limit(per_page).offset((page - 1) * per_page).all()
	if not items and page != 1 and error_out:
		abort(404)

	# No need to count if we're on the first page and there are fewer
	# items than we expected.
	if page == 1 and len(items) < per_page:
		total = len(items)
	else:
		total = query.order_by(None).count()

	return Pagination(query, page, per_page, total, items) 
开发者ID:fake-name,项目名称:ReadableWebProxy,代码行数:17,代码来源:utilities.py

示例4: paginate

# 需要导入模块: import flask_sqlalchemy [as 别名]
# 或者: from flask_sqlalchemy import Pagination [as 别名]
def paginate(query, page, per_page=20, error_out=True):
    if error_out and page < 1:
        abort(404)
    items = query.limit(per_page).offset((page - 1) * per_page).all()
    if not items and page != 1 and error_out:
        abort(404)
    if page == 1 and len(items) < per_page:
        total = len(items)
    else:
        total = query.order_by(None).count()
    return Pagination(query, page, per_page, total, items) 
开发者ID:chaijunit,项目名称:beibq,代码行数:13,代码来源:model.py

示例5: new_search

# 需要导入模块: import flask_sqlalchemy [as 别名]
# 或者: from flask_sqlalchemy import Pagination [as 别名]
def new_search(cls, query, page, order_by=None, per_page=16):
        s = cls.search()
        s = s.query("multi_match", query=query, fields=SERACH_FIELDS)
        start = (page - 1) * per_page
        s = s.extra(**{"from": start, "size": per_page})
        s = s if order_by is None else s.sort(order_by)
        rs = s.execute()
        return Pagination(query, page, per_page, rs.hits.total, rs) 
开发者ID:hjlarry,项目名称:flask-shop,代码行数:10,代码来源:search.py


注:本文中的flask_sqlalchemy.Pagination方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。