注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计Flask Web开发从入门到精通(第2版)

Flask Web开发从入门到精通(第2版)

Flask Web开发从入门到精通(第2版)

定 价:¥89.00

作 者: [印] 沙拉比·阿加沃尔 著,张骞 译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302556992 出版时间: 2020-07-01 包装: 平装
开本: 16开 页数: 240 字数:  

内容简介

  本书详细阐述了与Flask开发相关的基本解决方案,主要包括“配置Flask”“基于Jinja2的模板机制”“Flask中的数据模型”“与视图协同工作”“WTForms”“Flask中的身份验证机制”“构建RESTful API”“Flask应用程序管理接口”“国际化和本地化”“调试、错误处理和测试”“部署和后期部署”“微服务和容器”“提示和技巧”等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

作者简介

暂缺《Flask Web开发从入门到精通(第2版)》作者简介

图书目录

第1章  配置Flask 1
1.1  利用virtualenv设置开发环境 3
1.1.1  实现方式 3
1.1.2  工作方式 3
1.1.3  更多内容 4
1.1.4  另请参阅 5
1.2  处理基本的配置问题 5
1.2.1  准备工作 5
1.2.2  实现方式 6
1.2.3  工作方式 7
1.3  配置基于类的设置 7
1.3.1  实现方式 7
1.3.2  工作方式 8
1.4  组织静态文件 8
1.4.1  实现方式 8
1.4.2  工作方式 9
1.4.3  更多内容 9
1.5  特定于部署的实例文件夹 10
1.5.1  实现方式 10
1.5.2  工作方式 11
1.6  视图和模型的组合 11
1.6.1  实现方式 11
1.6.2  工作方式 13
1.6.3  另请参阅 14
1.7  利用Blueprint创建模块化的Web应用程序 14
1.7.1  准备工作 14
1.7.2  实现方式 14
1.7.3  工作方式 15
1.7.4  另请参阅 16
1.8  通过setuptools安装Flask应用程序 16
1.8.1  实现方式 16
1.8.2  工作方式 17
1.8.3  另请参阅 17
第2章  基于Jinja2的模板机制 19
2.1  引导推荐的布局 20
2.1.1  准备工作 20
2.1.2  实现方式 20
2.1.3  工作方式 21
2.2  实现块组合和布局继承 22
2.2.1  准备工作 22
2.2.2  实现方式 22
2.2.3  工作方式 26
2.3  创建自定义上下文处理器 28
2.4  创建自定义Jinja2过滤器 29
2.4.1  实现方式 29
2.4.2  工作方式 30
2.4.3  另请参阅 31
2.5  为表单创建自定义宏 31
2.5.1  准备工作 31
2.5.2  实现方式 31
2.6  高级日期和时间格式 32
2.6.1  准备工作 32
2.6.2  实现方式 33
2.6.3  另请参阅 34
第3章  Flask中的数据模型 35
3.1  创建SQLAlchemy DB实例 35
3.1.1  准备工作 36
3.1.2  实现方式 36
3.1.3  更多内容 37
3.1.4  另请参阅 38
3.2  创建基本的产品模型 38
3.2.1  实现方式 38
3.2.2  工作方式 41
3.2.3  另请参阅 41
3.3  创建关系分类模型 41
3.3.1  实现方式 41
3.3.2  另请参阅 44
3.4  利用Alembic和Flask-Migrate迁移数据库 44
3.4.1  准备工作 45
3.4.2  实现方式 45
3.4.3  工作方式 46
3.4.4  另请参阅 47
3.5  基于Redis的索引模型数据 47
3.5.1  准备工作 48
3.5.2  实现方式 48
3.5.3  工作方式 49
3.6  基于MongoDB的NoSQL方式 49
3.6.1  准备工作 49
3.6.2  实现方式 50
3.6.3  另请参阅 52
第4章  与视图协同工作 53
4.1  编写基于函数的视图和URL路由 53
4.1.1  准备工作 53
4.1.2  实现方式 54
4.1.3  工作方式 55
4.1.4  更多内容 55
4.2  编写基于类的视图 56
4.2.1  准备工作 56
4.2.2  实现方式 56
4.2.3  工作方式 57
4.2.4  更多内容 57
4.2.5  另请参阅 58
4.3  实现URL路由机制和基于产品的分页机制 58
4.3.1  准备工作 58
4.3.2  实现方式 58
4.3.3  另请参阅 60
4.4  渲染至模板 60
4.4.1  准备工作 60
4.4.2  实现方式 60
4.4.3  工作方式 64
4.4.4  另请参阅 65
4.5  处理XHR请求 65
4.5.1  准备工作 65
4.5.2  实现方式 65
4.5.3  工作方式 67
4.6  使用装饰器处理请求 67
4.6.1  准备工作 67
4.6.2  实现方式 67
4.6.3  另请参阅 68
4.7  创建自定义的404和500处理程序 68
4.7.1  准备工作 69
4.7.2  实现方式 69
4.7.3  工作方式 69
4.7.4  更多内容 70
4.8  闪动消息以获得更好的用户反馈 70
4.8.1  准备工作 70
4.8.2  实现方式 70
4.8.3  工作方式 73
4.9  实现基于SQL的搜索机制 73
4.9.1  准备工作 74
4.9.2  实现方式 74
4.9.3  工作方式 75
第5章  WTForms 77
5.1  将SQLAlchemy模型数据表示为表单 77
5.1.1  准备工作 78
5.1.2  实现方式 78
5.1.3  工作方式 80
5.1.4  另请参阅 80
5.2  验证服务器端上的字段 80
5.2.1  实现方式 81
5.2.2  工作方式 82
5.2.3  更多内容 83
5.2.4  另请参阅 83
5.3  创建公共表单集合 83
5.3.1  实现方式 84
5.3.2  工作方式 85
5.4  创建自定义字段和验证 86
5.4.1  实现方式 86
5.4.2  工作方式 87
5.4.3  更多内容 87
5.5  创建自定义微件 88
5.5.1  实现方式 88
5.5.2  工作方式 89
5.5.3  另请参阅 89
5.6  通过表单上传文件 90
5.6.1  实现方式 90
5.6.2  工作方式 92
5.7  保护应用程序免受跨站点请求伪造(CSRF) 93
5.7.1  实现方式 93
5.7.2  工作方式 95
第6章  Flask中的身份验证机制 97
6.1  创建简单的基于会话的身份验证 97
6.1.1  准备工作 98
6.1.2  实现方式 98
6.1.3  工作方式 103
6.1.4  另请参阅 104
6.2  基于Flask-Login扩展的身份验证 104
6.2.1  准备工作 105
6.2.2  实现方式 105
6.2.3  工作方式 108
6.2.4  更多内容 108
6.2.5  另请参阅 108
6.3  使用Facebook进行身份验证 108
6.3.1  准备工作 108
6.3.2  实现方式 110
6.3.3  工作方式 112
6.4  使用Google进行身份验证 112
6.4.1  准备工作 113
6.4.2  实现方式 114
6.4.3  工作方式 115
6.5  使用Twitter进行身份验证 115
6.5.1  准备工作 116
6.5.2  实现方式 116
6.5.3  工作方式 118
6.6  基于LDAP的身份验证机制 118
6.6.1  准备工作 118
6.6.2  实现方式 119
6.6.3  工作方式 122
6.6.4  另请参阅 123
第7章  构建RESTful API 125
7.1  创建基于类的REST接口 126
7.1.1  准备工作 126
7.1.2  实现方式 126
7.1.3  工作方式 127
7.2  创建基于扩展的REST接口 127
7.2.1  准备工作 128
7.2.2  实现方式 128
7.2.3  工作方式 129
7.2.4  另请参阅 129
7.3  创建完整的RESTful API 130
7.3.1  准备工作 130
7.3.2  实现方式 130
7.3.3  工作方式 132
第8章  Flask应用程序管理接口 135
8.1  创建简单的CRUD接口 135
8.1.1  准备工作 136
8.1.2  实现方式 136
8.1.3  工作方式 139
8.2  使用Flask-Admin扩展 141
8.2.1  准备工作 141
8.2.2  实现方式 141
8.2.3  工作方式 142
8.2.4  更多内容 142
8.3  利用Flask-Admin注册模型 143
8.3.1  准备工作 143
8.3.2  实现方式 143
8.3.3  工作方式 145
8.4  创建自定义表单和操作 146
8.4.1  准备工作 146
8.4.2  实现方式 146
8.4.3  工作方式 148
8.5  使用WYSIWYG(所见即所得)编辑器 148
8.5.1  准备工作 149
8.5.2  实现方式 149
8.5.3  工作方式 150
8.5.4  另请参阅 151
8.6  创建用户角色 151
8.6.1  准备工作 151
8.6.2  实现方式 152
8.6.3  工作方式 154
第9章  国际化和本地化 155
9.1  添加一种新语言 155
9.1.1  准备工作 155
9.1.2  实现方式 156
9.1.3  工作方式 158
9.1.4  更多内容 159
9.1.5  另请参阅 159
9.2  实现延迟处理和gettext/ngettext函数 159
9.2.1  准备工作 160
9.2.2  实现方式 160
9.3  实现全球语言切换操作 161
9.3.1  准备工作 161
9.3.2  实现方式 162
9.3.3  工作方式 163
9.3.4  另请参阅 163
第10章  调试、错误处理和测试 165
10.1  设置基本的文件日志系统 166
10.1.1  准备工作 166
10.1.2  实现方式 166
10.1.3  工作方式 167
10.1.4  更多内容 168
10.1.5  另请参阅 168
10.2  在出现错误时发送电子邮件 168
10.2.1  准备工作 169
10.2.2  工作方式 169
10.2.3  工作方式 170
10.2.4  更多内容 170
10.3  使用Sentry监视异常 170
10.3.1  准备工作 170
10.3.2  实现方式 170
10.3.3  工作方式 172
10.4  基于pdb的调试机制 172
10.4.1  准备工作 172
10.4.2  实现方式 173
10.4.3  工作方式 173
10.4.4  另请参阅 173
10.5  创建简单的测试 174
10.5.1  准备工作 174
10.5.2  实现方式 174
10.5.3  工作方式 175
10.5.4  另请参阅 175
10.6  针对视图和逻辑编写多项测试 176
10.6.1  准备工作 176
10.6.2  实现方式 176
10.6.3  工作方式 179
10.7  nose库集成 179
10.7.1  准备工作 180
10.7.2  实现方式 180
10.7.3  另请参阅 180
10.8  使用Mocking避免访问API 181
10.8.1  准备工作 181
10.8.2  实现方式 182
10.8.3  工作方式 184
10.8.4  另请参阅 184
10.9  确定测试覆盖率 184
10.9.1  准备工作 184
10.9.2  实现方式 185
10.9.3  工作方式 186
10.9.4  另请参阅 187
10.10  使用性能分析查找瓶颈 187
10.10.1  准备工作 187
10.10.2  实现方式 187
10.10.3  工作方式 187
第11章  部署和后期部署 189
11.1  基于Apache的部署机制 189
11.1.1  准备工作 190
11.1.2  实现方式 191
11.1.3  工作方式 192
11.1.4  更多内容 192
11.1.5  另请参阅 193
11.2  基于uWSGI和Nginx的部署机制 193
11.2.1  准备工作 193
11.2.2  实现方式 193
11.2.3  另请参阅 195
11.3  基于Gunicorn和Supervisor的部署机制 195
11.3.1  准备工作 196
11.3.2  实现方式 196
11.3.3  工作方式 197
11.3.4  另请参阅 197
11.4  基于Tornado的部署 198
11.4.1  准备工作 198
11.4.2  实现方式 198
11.4.3  工作方式 199
11.5  针对文件上传使用S3存储 199
11.5.1  准备工作 199
11.5.2  实现方式 199
11.5.3  工作方式 201
11.5.4  另请参阅 201
11.6  基于Heroku的部署 201
11.6.1  准备工作 201
11.6.2  实现方式 202
11.6.3  准备工作 204
11.6.4  更多内容 204
11.7  基于AWS Elastic Beanstalk的部署机制 204
11.7.1  准备工作 204
11.7.2  实现方式 205
11.7.3  工作方式 206
11.8  利用New Relic管理和监控应用程序 208
11.8.1  准备工作 208
11.8.2  实现方式 209
11.8.3  工作方式 210
11.8.4  另请参阅 210
第12中  微服务和容器 211
12.1  基于Docker的容器化机制 211
12.1.1  准备工作 212
12.1.2  实现方式 213
12.1.3  工作方式 215
12.1.4  另请参阅 215
12.2  基于Kubernetes的编排容器 216
12.2.1  准备工作 216
12.2.2  实现方式 216
12.2.3  工作方式 218
12.2.4  更多内容 219
12.2.5  另请参阅 220
12.3  AWS Lambda上基于Zappa的无服务器操作 220
12.3.1  准备工作 220
12.3.2  实现方式 220
12.3.3  工作方式 223
12.3.4  另请参阅 224
第13章  提示和技巧 225
13.1  实现基于Whoosh的全文本搜索 225
13.1.1  准备工作 226
13.1.2  实现方式 226
13.1.3  工作方式 227
13.1.4  另请参阅 227
13.2  实现基于Elasticsearch的全文本搜索 227
13.2.1  准备工作 228
13.2.2  实现方式 228
13.2.3  工作方式 230
13.3  与信号协同工作 230
13.3.1  准备工作 230
13.3.2  实现方式 231
13.3.3  工作方式 232
13.3.4  另请参阅 232
13.4  在应用程序中使用缓存 232
13.4.1  准备工作 233
13.4.2  实现方式 233
13.4.3  工作方式 233
13.4.4  更多内容 234
13.4.5  另请参阅 234
13.5  实现Flask应用程序的电子邮件支持 234
13.5.1  准备工作 235
13.5.2  实现方式 235
13.5.3  工作方式 235
13.5.4  更多内容 236
13.5.5  另请参阅 237
13.6  了解异步操作 237
13.6.1  准备工作 237
13.6.2  实现方式 237
13.6.3  工作方式 238
13.7  与Celery协同工作 238
13.7.1  准备工作 238
13.7.2  实现方式 238
13.7.3  工作方式 240
13.7.4  另请参阅 240

本目录推荐