本书通过一个完整的项目开发案例,系统介绍在统信UOS操作系统上进行Flask
Web应用开发的过程。本书从项目功能、环境配置开始介绍,详细分析用户功能、管理功能、数据分析与可视化、数据库管理的代码实现,最后还介绍了搭建服务器的流程与模块化编程。为了方便学习,本书提供完整的项目源码。虽然所有代码的开发调试在统信UOS上进行,但在Windows、macOS和Linux系统上均可以运行。
本书可作为高校计算机及相关专业的应用开发教材,也可作为Web开发工程师和相关从业者的自学参考书。本书对基于统信UOS进行Web开发的工程师非常具有参考价值。
搭建环境 31
2.1 开发环境 31
2.2 进入“开发者模式” 31
2.3 安装pip 33
2.4 安装Sublime Text 33
2.5 安装DB Browser for SQLite 34
2.6 本章小结 34
第3章 用户功能实现 35
3.1 创建Web应用 36
3.1.1 安装Flask框架 36
3.1.2 创建Web应用框架 37
3.2 创建数据库过程 38
3.2.1 安装相关模块 38
3.2.2 数据库设计 38
3.2.3 创建数据库 40
3.3 用户注册 41
3.3.1 安装相关模块 41
3.3.2 表单设计 42
3.3.3 视图设计 47
3.3.4 模板设计 49
3.3.5 运行结果 51
3.4 用户登录 53
3.4.1 表单设计 53
3.4.2 视图设计 55
3.4.3 模板设计 59
3.4.4 运行结果 61
3.5 用户主页 62
3.5.1 安装相关模块 62
3.5.2 表单设计 66
3.5.3 视图设计 68
3.5.4 模板设计 76
3.5.5 运行结果 78
3.6 密码修改 79
3.6.1 表单设计 79
3.6.2 视图设计 81
3.6.3 模板设计 82
3.6.4 运行结果 83
3.7 发送邮件 83
3.7.1 安装Flask-Mail 84
3.7.2 表单设计 84
3.7.3 视图设计 86
3.7.4 模板设计 87
3.7.5 运行结果 88
3.8 本章小结 89
第4章 管理功能实现 90
4.1 管理员登录 91
4.1.1 表单设计 91
4.1.2 视图设计 92
4.1.3 模板设计 95
4.1.4 运行结果 96
4.2 管理主页 97
4.2.1 表单设计 97
4.2.2 视图设计 98
4.2.3 模板设计 101
4.2.4 运行结果 105
4.3 编辑功能 106
4.3.1 表单设计 106
4.3.2 视图设计 109
4.3.3 模板设计 112
4.3.4 运行结果 112
4.4 审核功能 113
4.4.1 视图设计 113
4.4.2 模板设计 115
4.4.3 运行结果 115
4.5 删除用户功能 116
4.5.1 视图设计 116
4.5.2 模板设计 117
4.5.3 运行结果 118
4.6 密码初始化 119
4.6.1 表单设计 119
4.6.2 视图设计 119
4.6.3 模板设计 120
4.6.4 运行结果 122
4.7 系统初始化 122
4.7.1 表单设计 123
4.7.2 视图设计 123
4.7.3 模板设计 125
4.7.4 运行结果 125
4.8 照片相册 126
4.8.1 视图设计 126
4.8.2 模板设计 128
4.8.3 运行结果 129
4.9 超级管理员 129
4.9.1 视图设计 130
4.9.2 模板设计 132
4.9.3 运行结果 135
4.10 本章小结 136
第5章 数据分析与可视化 137
5.1 准备工作 137
5.1.1 下载ECharts插件 137
5.1.2 安装pyecharts 138
5.2 饼图 138
5.2.1 视图设计 139
5.2.2 模板设计 140
5.2.3 运行结果 141
5.3 极坐标系 142
5.3.1 视图设计 142
5.3.2 运行结果 143
5.4 柱状图 144
5.4.1 视图设计 144
5.4.2 运行结果 148
5.5 折线图 149
5.5.1 视图设计 149
5.5.2 运行结果 151
5.6 散点图 152
5.6.1 视图设计 152
5.6.2 运行结果 154
5.7 雷达图 154
5.7.1 视图设计 154
5.7.2 运行结果 156
5.8 K线图 157
5.8.1 视图设计 157
5.8.2 运行结果 158
5.9 箱形图 159
5.9.1 视图设计 159
5.9.2 运行结果 161
5.10 漏斗图 162
5.10.1 视图设计 162
5.10.2 运行结果 164
5.11 词云图 164
5.11.1 视图设计 164
5.11.2 模板设计 166
5.11.3 运行结果 166
5.12 基模板主菜单 167
5.12.1 模板设计 167
5.12.2 运行结果 168
5.13 本章小结 169
第6章 数据库管理 170
6.1 准备工作 171
6.2 Flask-Admin登录页面 172
6.2.1 表单设计 172
6.2.2 视图设计 172
6.2.3 模板设计 173
6.2.4 运行结果 174
6.3 Flask-Admin后台主页 175
6.3.1 视图设计 175
6.3.2 模板设计 176
6.3.3 运行结果 176
6.4 用户表管理页面 177
6.4.1 视图设计 177
6.4.2 运行结果 178
6.5 系统初始化 179
6.5.1 视图设计 179
6.5.2 模板设计 180
6.5.3 运行结果 181
6.6 管理员页面 182
6.6.1 视图设计 182
6.6.2 模板设计 184
6.6.3 运行结果 186
6.7 密码初始化 187
6.7.1 视图设计 187
6.7.2 模板设计 188
6.7.3 运行结果 188
6.8 用户图相册 189
6.8.1 视图设计 189
6.8.2 模板设计 190
6.8.3 运行结果 191
6.9 本章小结 192
第7章 搭建服务器 193
7.1 Tornado 193
7.1.1 安装 193
7.1.2 配置 193
7.1.3 启动 194
7.2 Gunicorn 195
7.2.1 安装 195
7.2.2 配置 195
7.2.3 启动 195
7.3 本章小结 198
第8章 模块化编程 199
8.1 创建数据库过程 199
8.1.1 创建构造函数 199
8.1.2 创建数据库模型 200
8.1.3 创建数据库 200
8.1.4 运行结果 200
8.2 用户注册 201
8.2.1 表单设计 201
8.2.2 视图设计 202
8.2.3 Bootstrap设置 203
8.2.4 创建主程序 203
8.2.5 模板设计 203
8.2.6 运行结果 203
8.3 密码修改 204
8.3.1 表单设计 204
8.3.2 视图设计 204
8.3.3 模板设计 205
8.3.4 运行结果 205
8.4 用户登录 205
8.4.1 表单设计 205
8.4.2 登录管理器 205
8.4.3 视图设计 206
8.4.4 模板设计 207
8.4.5 运行结果 207
8.5 用户主页 207
8.5.1 表单设计 207
8.5.2 视图设计 208
8.5.3 模板设计 210
8.5.4 运行结果 210
8.6 Tornado 210
8.6.1 配置 210
8.6.2 启动 211
8.7 Gunicorn 211
8.7.1 配置 211
8.7.2 启动 211
8.8 本章小结 212
附录A 模拟数据生成 214
A.1 准备工作 214
A.2 视图设计 215
A.3 运行结果 217
附录B 在Windows上安装/配置/连接
MySQL 218
B.1 安装和配置MySQL 218
B.1.1 下载 218
B.1.2 安装 219
B.1.3 配置 219
B.1.4 创建数据库 221
B.1.5 创建User表 221
B.2 Web应用连接MySQL 223
B.2.1 安装PyMySQL 223
B.2.2 连接MySQL 223
B.2.3 运行结果 224
附录C 在CentOS上安装/配置/连接
MariaDB 226
C.1 安装和配置CentOS 226
C.2 安装和配置MariaDB 229
C.2.1 安装 229
C.2.2 配置 231
C.2.3 创建数据库 232
C.3 连接数据库和创建表 232
C.3.1 连接MariaDB 232
C.3.2 创建表 233
C.3.3 运行结果 234
附录D 在UOS Server上安装/配置/连接
MySQL 236
D.1 安装和配置UOS Server 236
D.2 安装和配置MySQL 240
D.2.1 安装 240
D.2.2 配置 241
D.2.3 停止防火墙 243
D.3 连接MySQL,创建数据库和表 243
D.3.1 连接MySQL 243
D.3.2 创建数据库和表 244
D.3.3 运行结果 245