内容简介
作者简介
钱游毕业于重庆大学计算机科学与技术专业。有十余年的软件开发经验,先后在西部数码成都西维数码科技有限公司和中企动力重庆分公司任职,历任Java程序员、系统架构师等职。参与开发过的项目有重庆力帆集团绩效考核系统、重庆国电睿霖电气有限公司暨物联网云平台、重庆科创职业学院官网、重庆城市职业学院官网等。长期使用Flask框架进行Web应用开发,在Web开发、微商城开发、Android移动开发等领域有丰富的实战经验。现从事移动互联网与物联网应用等领域的研究。
本书目录
前言本书内容导图
第1篇Flask基础知识
第1章开发环境部署 2
1.1Python的安装及配置 2
Python的安装 2
测试Python是否安装成功 7
1.2虚拟环境的配置 8
1.3PyCharm的安装及使用 11
PyCharm的下载及安装 11
在PyCharm中新建工程 14
在PyCharm中设置UTF-8编码自动创建 15
在PyCharm中使用已经设置好的虚拟环境 17
1.4温故知新 20
1.5习题 20
第2章Flask快速上手 21
2.1Web基础知识 21
2.2第一个Flask Web程序 22
安装Flask框架 23
在Flask中输出Hello World 25
2.3URL传递参数 28
2.4URL反转 29
2.5页面跳转和重定向 30
2.6温故知新 31
2.7习题 31
第3章Jinja 2模板引擎 33
3.1模板引擎概述及简单使用 33
3.2向模板中传递参数 35
3.3模板中的控制语句之if语句 38
3.4模板中的控制语句之for语句 40
3.5Flask的过滤器 42
常见过滤器 42
自定义过滤器 44
3.6宏的定义及使用 46
宏的定义 46
宏的导入 47
include的使用 49
3.7set和with语句的使用 50
3.8静态文件的加载 52
3.9模板的继承 54
3.10温故知新 57
3.11习题 57
第4章Flask视图高级技术 58
4.1app.route与add_url_rule简介 58
app.route的使用 58
add_url_rule的使用 59
4.2Flask类视图 61
标准类视图 61
基于方法的类视图 63
4.3Flask装饰器 66
装饰器的定义和基本使用 66
对带参数的函数使用装饰器 68
4.4蓝图 71
4.5温故知新 72
4.6习题 73
第5章Flask数据交互 74
5.1使用Flask处理表单 74
使用Flask处理通用表单 74
使用Flask-WTF处理表单 76
5.2使用Flask上传文件 80
使用Flask上传文件的简单实现 81
改进上传功能 84
5.3Cookie的使用 86
Cookie的基本概念 86
Cookie的基本使用 87
设置Cookie的作用域 90
5.4Session的使用 92
Session的基本配置 92
Session的基本使用 93
5.5钩子函数的使用 95
5.6温故知新 97
5.7习题 97
第6章访问数据库 98
6.1MySQL数据库安装 98
下载及安装MySQL 98
测试MySQL是否安装成功 99
6.2Python数据库框架MySQL-Python 100
MySQL-Python安装 100
通过Python操作数据库对象 101
6.3通过MySQL-Python进行更新数据操作 105
增加数据 105
修改数据 106
删除数据 107
6.4初识Flask-SQLAlchemy 108
SQLAlchemy的安装 108
对象-关系映射实质 110
为什么使用ORM 111
6.5Flask-SQLAlchemy初始化 112
6.6Flask-SQLAlchemy模型与表映射方法1 114
6.7Flask-SQLAlchemy模型与表映射方法2 118
6.8数据的增、删、改、查 119
数据添加 119
数据查询 121
数据修改 122
数据删除 123
6.9使用Flask-SQLAlchemy创建一对一的关系表 124
6.10使用Flask-SQLAlchemy创建一对多的关系表 126
6.11使用Flask-SQLAlchemy创建多对多的关系表 128
6.12Flask-Script工具的使用 130
安装Flask-Script并初始化 130
Command子类创建命令 131
使用Command实例的command修饰符 132
使用Command实例的option修饰符创建命令 132
6.13Flask循环引用 133
6.14使用Flask-Migrate实现数据库迁移 136
安装Flask-Migrate插件 136
使用Flask-Migrate的步骤 136
6.15温故知新 139
6.16习题 139
第7章Memcached缓存系统 140
7.1Memcached的安装 140
Memcached的基本概念 140
Memcached的安装 141
7.2Memcached的基本使用 143
set和set_multi命令的使用 143
get和get_multi命令的使用 144
add命令的使用 145
replace命令的使用 146
append和prepend命令的使用 147
delete和delete_multi命令的使用 148
decr和incr命令的使用 149
7.3Memcached的安全机制 150
7.4温故知新 151
7.5习题 151
第8章Bootstrap的基本使用 152
8.1Bootstrap简介 152
8.2全局CSS样式 154
8.3栅格系统 156
8.4Bootstrap CSS代码 162
8.5Bootstrap表格 165
基础表格 165
条纹状表格 167
带边框的表格 168
紧凑的表格和响应式表格 170
状态类 172
8.6Bootstrap表单 173
垂直表单 174
内联表单 175
水平表单 180
支持的表单控件 181
8.7Bootstrap按钮 182
8.8温故知新 185
8.9习题 186
第2篇CMS新闻系统开发
第9章CMS后台管理员登录实现 188
9.1CMS系统基本蓝图 188
9.2用户模型定义 190
建立数据库连接并创建用户模型 190
用户登录密码明文变密文的处理 193
9.3管理员登录 194
登录页的渲染 194
初步实现用户的登录 196
优化登录-对表单进行过滤验证 199
优化登录-启用登录验证码 200
优化登录-记住我功能实现 205
9.4限制用户访问 206
9.5用户名注销功能实现 207
9.6温故知新 209
9.7习题 210
第10章CMS后台文章模块基本功能实现 211
10.1管理员信息展示 211
管理员个人详情页搭建 211
管理员个人详情页实现 214
管理员密码修改 215
10.2文章栏目页的实现 220
栏目无限级分类添加进数据库 221
栏目的编辑功能 224
栏目的删除功能 233
10.3文章的添加、修改、删除功能的实现 235
文章添加功能的基本实现 235
文章的列表显示 244
文章的编辑修改 247
文章的删除 252
10.4温故知新 256
10.5习题 256
第11章CMS后台基本评论及登录日志等功能的实现 258
11.1评论信息管理 258
评论信息管理页面搭建 258
评论的下架和发布功能实现 267
评论的删除功能实现 271
11.2登录日志、操作日志等功能实现 273
登录日志功能的实现 273
登录日志批量删除功能的实现 280
11.3温故知新 282
11.4习题 283
第12章基于角色的访问控制功能实现 284
12.1权限、角色、用户的数据库设计 284
12.2权限管理 286
添加权限 286
权限的列表显示 290
权限的编辑 294
权限的删除 295
12.3角色管理 297
角色的添加 297
角色的列表显示 301
角色的编辑功能实现 303
角色的删除功能实现 305
12.4基于角色的访问控制思想及实现 307
12.5温故知新 310
12.6习题 310
第13章CMS网站前台功能实现 311
13.1用户的注册和登录功能 311
用户注册页面的设计 311
用户注册功能的实现 315
用户登录功能的实现 318
13.2网站首页的基本实现 324
13.3文章详情页功能实现 326
13.4网站404页面功能实现 329
13.5温故知新 330
13.6习题 331
第14章CMS系统代码优化 332
14.1CSRF攻击与防御 332
14.2视图函数的一些优化 334
14.3将验证码保存到Memcached中 336
14.4温故知新 337
14.5习题 337
第3篇网站上线准备及部署
第15章CMS系统性能测试与单元测试 340
15.1慢查询SQL的检测与记录 340
15.2Flask单元测试 342
15.3温故知新 348
15.4习题 348
第16章网站部署 349
16.1服务器部署 349
Gunicorn的安装配置及使用 350
Nginx的安装及使用 352
安装MySQL 354
16.2网站部署 354
16.3温故知新 356
16.4习题 356
· · · · · ·


