搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Flask Web全栈开发实战
0.00     定价 ¥ 79.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购24本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302609285
  • 作      者:
    作者:黄勇|责编:贾旭龙//贾小红
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2022-07-01
收藏
内容介绍
本书围绕Flask框架,详细地讲解了使用Flask开发网站的各项技术要点。全书共11章,首先讲解了Flask项目开发中的环境搭建、项目配置、URL与视图、Jinja2模板、数据库、表单、Flask进阶、缓存系统等。然后拓展了知识面,在项目实战中分别介绍了RESTful API、邮箱验证码、Redis缓存、Celery异步任务、登录授权机制、角色权限管理、富文本编辑器、头像管理、文件上传以及Nginx、Gunicorm部署等技术要点;在 WebSocket实战中讲解了Flask 中使用 WebSocket开发项目的全部过程。最后讲解了Flask异步编程。通过本书的学习,读者能够熟练掌握Flask Web开发技术。 本书适合没有Flask开发经验或者Flask基础比较薄弱、想要系统学习Flask Web开发技术的读者学习。
展开
目录

第1章  Flask前奏 1

1.1  Flask简介 1

1.2  环境搭建 1

1.2.1  Python环境 2

1.2.2  Flask版本 3

1.2.3  开发软件 4

第2章  项目配置 9

2.1  Debug模式、Host、Port配置 9

2.1.1  Debug模式 9

2.1.2  设置Host和Port 13

2.2  在app.config中添加配置 18

2.2.1  使用app.config配置 18

2.2.2  使用Python配置文件 19

第3章  URL与视图 20

3.1  定义URL 21

3.1.1  定义无参数的URL 22

3.1.2  定义有参数的URL 22

3.2  HTTP请求方法 27

3.3  页面重定向 29

3.4  构造URL 30

第4章  Jinja2模板 32

4.1  模板的基本使用 32

4.1.1  渲染模板 32

4.1.2  渲染变量 34

4.2  过滤器和测试器 38

4.2.1  自定义过滤器 38

4.2.2  Jinja2内置过滤器 39

4.2.3  测试器 42

4.3  控制语句 44

4.3.1  if判断语句 44

4.3.2  for循环语句 45

4.4  模板结构 51

4.4.1  宏和import语句 51

4.4.2  模板继承 52

4.4.3  引入模板 54

4.5  模板环境 55

4.5.1  模板上下文 55

4.5.2  全局函数 56

4.5.3  Flask模板环境 57

4.6  其他 58

4.6.1  转义 58

4.6.2  加载静态文件 59

4.6.3  闪现消息 59

第5章  数据库 61

5.1  准备工作 61

5.1.1  MySQL软件 61

5.1.2  Python操作MySQL驱动 61

5.1.3  Flask-SQLAlchemy 62

5.2  Flask-SQLAlchemy的基本使用 62

5.2.1  连接MySQL 62

5.2.2  ORM模型 63

5.2.3  CRUD操作 66

5.3  表关系 70

5.3.1  外键 71

5.3.2  一对多关系 71

5.3.3  一对一关系 74

5.3.4  多对多关系 75

5.3.5  级联操作 77

5.4  ORM模型迁移 80

5.4.1  创建迁移对象 80

5.4.2  初始化迁移环境 81

5.4.3  生成迁移脚本 81

5.4.4  执行迁移脚本 81

第6章  表单 83

6.1  表单验证 83

6.1.1  表单类编写 85

6.1.2  视图函数中使用表单 87

6.1.3  自定义验证字段 89

6.2  渲染表单模板 90

6.3  CSRF攻击 93

第7章  Flask进阶 98

7.1  类视图 98

7.1.1  基本使用 98

7.1.2  方法限制 99

7.1.3  基于方法的类视图 100

7.1.4  添加装饰器 101

7.2  蓝图 101

7.2.1  基本使用 101

7.2.2  寻找模板 102

7.2.3  寻找静态文件 102

7.3  cookie和session 103

7.3.1  关于cookie和session的介绍 103

7.3.2  Flask中使用cookie和session 104

7.4  request对象 105

7.5  Flask信号机制 106

7.5.1  自定义信号 106

7.5.2  Flask内置信号 107

7.6  常用钩子函数 108

7.7  上下文 109

7.7.1  线程隔离对象 110

7.7.2  LocalStack类 111

7.7.3  LocalProxy类 114

第8章  缓存系统 117

8.1  Memcached 117

8.1.1  安装Memcached 117

8.1.2  telnet操作Memcached 118

8.1.3  Python操作Memcached 121

8.1.4  Memcached的安全性 122

8.2  Redis 122

8.2.1  Redis使用场景 122

8.2.2  Redis和Memcached比较 123

8.2.3  Redis在Ubuntu中的安装与

使用 123

8.2.4  Redis操作命令 125

8.2.5  同步数据到硬盘 130

8.2.6  设置密码 131

8.2.7  Python操作Redis 132

第9章  项目实战 134

9.1  创建项目 135

9.1.1  config.py文件 137

9.1.2  exts.py文件 139

9.1.3  blueprints模块 140

9.1.4  models模块 142

9.2  创建用户相关模型 143

9.2.1  创建权限和角色模型 143

9.2.2  创建权限和角色 146

9.2.3  创建用户模型 150

9.2.4  创建测试用户 154

9.2.5  创建管理员 155

9.3  注册 155

9.3.1  渲染注册模板 155

9.3.2  使用Flask-Mail发送邮箱验证码 160

9.3.3  使用Flask-Caching和Redis缓存

验证码 165

9.3.4  使用Celery发送邮件 167

9.3.5  RESTful API 170

9.3.6  CSRF保护 173

9.3.7  使用AJAX获取邮箱验证码 173

9.3.8  实现注册功能 176

9.4  登录 179

9.5  发布帖子 182

9.5.1  添加帖子相关模型 183

9.5.2  初始化板块数据 184

9.5.3  渲染发布帖子模板 184

9.5.4  使用wangEditor富文本编辑器 186

9.5.5  未登录限制 191

9.5.6  服务端实现发帖功能 193

9.5.7  使用AJAX发布帖子 194

9.6  首页 195

9.6.1  生成帖子测试数据 197

9.6.2  使用Flask-Paginate实现分页 198

9.6.3  过滤帖子 200

9.7  帖子详情 202

9.7.1  动态加载帖子详情数据 202

9.7.2  发布评论 203

9.8  个人中心 205

9.8.1  使用Flask-Avatars生成随机

头像 206

9.8.2  修改导航条上的登录状态 209

9.8.3  根据用户显示个人中心 210

9.8.4  修改用户信息 212

9.9  CMS管理系统 215

9.9.1  CMS入口 215

9.9.2  权限管理 216

9.9.3  员工管理页面 219

9.9.4  添加员工 221

9.9.5  编辑员工 223

9.9.6  管理前台用户 225

9.9.7  帖子管理 228

9.9.8  评论管理 230

9.9.9  板块管理 231

9.10  错误处理 231

9.11  日志 233

9.11.1  loggers模块 233

9.11.2  handlers模块 234

9.11.3  filters模块 235

9.11.4  formatters模块 236

9.12  部署 237

9.12.1  导出依赖包 237

9.12.2  使用Git上传代码 237

9.12.3  生产环境的配置 241

9.12.4  安装常用软件 241

9.12.5  配置网站 243

9.12.6  使用Gunicorn部署网站 244

9.12.7  使用Nginx部署网站 246

9.12.8  压力测试                 249

第10章  WebSocket实战 252

10.1  安装相应的包 253

10.2  创建SocketIO对象 253

10.3  实现登录 254

10.4  连接和取消连接 257

10.5  获取在线用户 258

10.6  实现单聊 259

10.7  实现群聊 260

10.8  部署项目 261

第11章  Flask异步编程 263

11.1  asyncio标准库 263

11.2  aiohttp库 265

11.3  异步版Flask安装与异步编程性能 266

11.3.1  安装异步版Flask 266

11.3.2  Flask异步编程性能 266

11.3.3  实战—异步发送HTTP请求 267

11.3.4  使用异步SQLAlchemy 269

11.3.5  Jinja2开启异步支持 271


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证