sqlalchemy 配合bootstrap-table实现后台分页
创建公共的mysql连接函数
def db_session():
db_config='mysql+mysqldb://'+ mysqluser + ':' + mysqlpassword+'@'+mysqlip+'/'+dbname + '?charset=utf8'
echo = True
IsolationLevel='READ COMMITTED'
engine=create_engine(db_config,pool_recycle=60,isolation_level=IsolationLevel,echo=echo)
session=sessionmaker(bind=engine)
return session()
python代码
# -*- encoding: utf-8 -*- import tornado
from sqlalchemy import * from common.db_session import *
from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor class checkJDBCList(tornado.web.RequestHandler):
executor = ThreadPoolExecutor(20) @tornado.gen.coroutine
def get(self): # 跳转页面
title = "test"
ps = self.get_page_config(title)
self.render('test.html',**ps)
@tornado.gen.coroutine
def post(self): # 表格请求数据
system = self.get_arg("system", "%")
offset = self.get_arg('offset', 0)
order_field = self.get_arg('order_field', "createTime")
order_type = self.get_arg("order_type", "desc")
page_size = self.get_arg('pageSize', 10)
# 我们自定义的方法不支持异步。所以使用协程来提升性能
total_count, connection_list = yield self.connection_number_warning(employee_number, system_enname, offset, order_field, order_type, page_size)
# total和rows是必须要的2个参数,可以添加其他的参数
self.write({"total": total_count, "rows": connection_number_warning_list}) @run_on_executor
def connection_number_warning(self, employee_number, system_enname, offset, order_field, order_type, page_size):
total_count = 0
connection_numbe_list = []
session = db_session()
try:
connection_list = session.query() # 查询的字段
connection_list = connection_list.filter() # 查询条件
connection_list = connection_list.offset(offset) # 跳过多少行,分页用的
connection_list = connection_list.order_by(order_field + " " + order_type) # 排序字段和方式
connection_list = connection_list.limit(page_size).all() # 查询多少行数据 for connection_db in connection_list: # 将查询的结果转换成[{"key": "value"}]这种格式
connection = {}
connection["system"] = connection_db[0]
connection_number_list.append(connection) total_count = session.query(func.count("*")).filter().scalar() #查询符合条件的数据总量
except Exception as e:
print e
finally:
session.close()
return total_count, connection_number_warning_list
sqlalchemy 配合bootstrap-table实现后台分页的更多相关文章
- bootstrap Table API和一些简单使用方法
官网: http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/ 后端分页问题:后端返回”rows”.“”total,这样才能重新赋值 ...
- bootstrap table插件动态加载表头
这篇文章主要为大家详细介绍了bootstrap table插件动态加载表头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫 ...
- BootStrap table使用
bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...
- bootstrap Table 中给某一特定值设置table选中
bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...
- JS组件系列——表格组件神器:bootstrap table
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...
- JS组件系列——Bootstrap Table 表格行拖拽
前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ...
- JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...
随机推荐
- 160--Intersection Of Two Linked List
public class IntersectionOfTwoLinkedList { /* 解法一:暴力遍历求交点. 时间复杂度:O(m*n) 空间复杂度:O(1) */ public ListNod ...
- javascript之BOM对象(一window对象)
javascript包含三个部分,ECMAScript,BOM和DOM.ECMAScript是javascript的核心,包含javascript的基础语法.在Web中使用javascript,BOM ...
- 迁移生产环境的GItLab11.3.5到新的服务器
在新的服务器上 rpm安装git 首先停止,Gitlab服务 root@localhost # gitlab-ctl stop 参考了 以下链接: https://blog.csdn.net/liul ...
- Nginx 核心配置-可优化配置参数
Nginx 核心配置-可优化配置参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.nginx的官网查看指令帮助信息方法 1>.打开nginx的官网(https://ng ...
- dapi 基于Django的轻量级测试平台二 前端页面
QQ群: GitHub:https://github.com/yjlch1016/dapi 一.登录页login.html: 二.首页home.html: 三.产品线列表页product.html: ...
- actuator beans不展示
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- nginx在linux下安装(源码编译)
下载 http://nginx.org/en/download.html 安装 安装依赖 yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel o ...
- HTTP协议之chunk,单页应用这样的动态页面,怎么获取Content-Length的办法
当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-Length消息首部字段告诉客户端需要接收多少数据.但是如果是动态页面等时,服务器是不可能预先知 ...
- VS 编译总是出现错误: "LC.EXE 已退出,代码为-1"
最近在开发CS的一个项目时,编译总是出现错误: "LC.EXE 已退出,代码为-1" 解决方法一:用记事本打开*.licx,里面写的全是第三方插件的指定DLL,删除错误信息,保存, ...
- Scrapy笔记10- 动态配置爬虫
Scrapy笔记10- 动态配置爬虫 有很多时候我们需要从多个网站爬取所需要的数据,比如我们想爬取多个网站的新闻,将其存储到数据库同一个表中.我们是不是要对每个网站都得去定义一个Spider类呢? 其 ...