Flask 入门系列教程03-数据库操作

背景介绍

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平台部测试技术平台化、效率化的先锋力量!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180907B1N53Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券