您好,欢迎来到聚文网。 登录 免费注册
Flask Web开发从入门到精通(第2版)

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

  • 字数: 329000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: (印)沙拉比·阿加沃尔
  • 出版日期: 2020-06-01
  • 商品条码: 9787302556992
  • 版次: 1
  • 开本: 16开
  • 页数: 264
  • 出版年份: 2020
定价:¥89 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。Flask是目前十分流行的Web框架,采用Python编程语言来实现相关功能。Flask因为灵活、轻便且高效的特点被业界认可,同时拥有基于Werkzeug、Jinja2等开源库,拥有内置服务器和单元测试,适配RESTful且支持安全的Cookie,而且官方文档完整,便于学习掌握。
内容简介
本书详细阐述了与Flask开发相关的基本解决方案,主要包括“配置Flask”“基于Jinja2的模板机制”“Flask中的数据模型”“与视图协同工作”“WTForms”“Flask中的身份验证机制”“构建RESTful API”“Flask应用程序管理接口”“国际化和本地化”“调试、错误处理和测试”“部署和后期部署”“微服务和容器”“提示和技巧”等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
目录
第1章配置Flask1
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创建SQLAlchemyDB实例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章WTForms77
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章构建RESTfulAPI125
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创建完整的RESTfulAPI130
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.7nose库集成179
10.7.1准备工作180
10.7.2实现方式180
10.7.3另请参阅180
10.8使用Mocking避免访问API181
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基于AWSElasticBeanstalk的部署机制204
11.7.1准备工作204
11.7.2实现方式205
11.7.3工作方式206
11.8利用NewRelic管理和监控应用程序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.3AWSLambda上基于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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网