背景介绍
Web开发中,一个重要的应用就是数据库了。python使用最广泛的ORM框架是SQLAlchemy,它是一个很强大的关系型数据库框架,不仅支持高层ORM,也支持底层的SQL操作,另外,它也支持多种数据库引擎,例如mysql,sqlite等。在flask中,一般使用flask-sqlalchemy,它封装了SQLAlchemy框架,使操作数据库更加简单方便。下面就把flask-sqlalchemy加入到我们的代码中。
安装flask-sqlalchemy
pip install flask-sqlalchemy
配置项目连接的数据库
在flask_test.py里面增加数据库配置的信息,并注册到app中。
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://**:****@*.*.*.*:****/flask_test?charset=utf8&autocommit=true'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
说明:Flask-sqlalchemy有很多的配置项,可以根据需要自行选择,地址如下:
http://www.pythondoc.com/flask-sqlalchemy/config.html
建立Model对象
说明:
(1) 每个数据库表必须对应这里的一个类,且继承db.Model。
(2) __repr__方法是生成对象时,默认返回的对象内容。
(3) 列的类型是 Column 的第一个参数。你可以直接提供它们或进一步规定(比如提供一个长度)。下面的类型是最常用的:
获取列表数据
(1)数据获取的接口直接从数据库中取数据即可。
(2)html中使用模板将取到的数据,解析到html元素中。
分页
如果元素特别多,一般需要分页。这里的分页分为前台分页和后台分页。
(1)前台分页。前台分页只要使用DataTable插件即可,后台接口每次返回全部的数据,前台插件默认根据每页显示个数进行分页。
(2)后台分页
Flask-SQLAlchemy 支持分页的方法有limit和offset方法。例如:
然后和前台的dataTable关联起来就行了。
Qtest是360旗下的专业测试团队!
是WEB平台部测试技术平台化、效率化的先锋力量!
领取专属 10元无门槛券
私享最新 技术干货