Flask中实现使用SQLAlchemy MySQLdb分页的程序逻辑
逻辑的话还是蛮简单的,多查看一个文档就可以了。代码如下
page = int(request.args.get('page')) if request.args.get('page') else 1 pagesize = 20 prev_page = page - 1 if page - 1 else 1 next_page = page + 1 # 关键字查询 keywords = request.args.get('keywords') start_date = request.args.get('start_date') end_date = request.args.get('end_date') params_query = {} query = Itunes.query if keywords: query = query.filter(Itunes.title.startswith(keywords)) params_query['keywords'] = keywords if start_date and end_date: start = '%s 00:00:00' % start_date end = '%s 23:59:59' % end_date start = int(time.mktime(time.strptime(start,'%Y-%m-%d %H:%M:%S'))) end = int(time.mktime(time.strptime(end,'%Y-%m-%d %H:%M:%S'))) query = query.filter(Itunes.create_time > start) query = query.filter(Itunes.create_time <= end) params_query['start_date'] = start_date params_query['end_date'] = end_date if params_query: itunes_sum = query.count() itunes = query.offset((page-1)*pagesize).limit(pagesize).all() else: itunes_sum = Itunes.query.count() itunes = Itunes.query.offset((page-1)*pagesize).limit(pagesize).all() return render_template( 'front/spider_apple.html', itunes=itunes, itunes_sum=itunes_sum, title=u"Apple爬虫", prev_page=prev_page, next_page=next_page, params=params_query )
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/622
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/622