Python 如何使端点更快地加载?

Python 如何使端点更快地加载?,python,flask,couchbase,couchbase-view,Python,Flask,Couchbase,Couchbase View,我是couchbase的新手,可能是对前端编程的新手。我有一段代码,创建couchbase db的对象,然后从db中获取视图。问题是,它从数据库开始的时间获取所有数据。 我的重点是使其更快,以便在站点上更快地显示。 这是一段代码 @app.route("/all-schools", methods=['GET']) def past_school_schedules(): return render_template('schb.get_view('cloud', 'christmas

我是couchbase的新手,可能是对前端编程的新手。我有一段代码,创建couchbase db的对象,然后从db中获取视图。问题是,它从数据库开始的时间获取所有数据。 我的重点是使其更快,以便在站点上更快地显示。 这是一段代码

@app.route("/all-schools", methods=['GET'])
def past_school_schedules():

    return render_template('schb.get_view('cloud', 'christmast-past'))

因此,couchbase获取所有视图并显示后,大约需要30-40秒。。这是一个巨大的问题,因为它会呈现temp

使用分页以小批量呈现数据,根据您的要求确定页面大小,以便在第一次调用时在UI上处理/显示足够的数据,并在后续调用中使用下一个页面url根据请求获取更多数据

Flask SQLAlchemy使用paginate()查询方法本地支持分页

paginate方法可以在Flask SQLAlchemy中的任何查询对象上调用。它有三个论点:

  • 页码,从1开始
  • 每页的项目数
  • 错误标志。如果为True,当请求超出范围的页面时,将出现404错误 将自动返回到客户端。如果为False,将为超出范围的页面返回空列表
  • paginate的返回值是一个分页对象。此对象的items属性包含请求页面中的项目列表

    下面是使用分页更新的代码

    @app.route("/all-schools-schedule/christmas-past", methods=['GET'])
    def past_school_schedules():
        # this creates couchbase object
        cb = get_db().paginate(
            page, POSTS_PER_PAGE, False)
            return render_template('school_schedule.html', past=cb.items)
    

    希望这有帮助

    是的,但我需要和couchbase一起工作&在couchbsae中用示例解释分页似乎有点困难。希望这有帮助!