《Python高效开发实战》全称《Python高效开发实战——Django、Tornado、Flask、Twisted》,作者刘长龙,由电子工业出版社2016年10月出版。
基本介绍
- 书名Python高效开发实战——Django、Tornado、Flask、Twisted
- 作者刘长龙
- ISBN978-7-121-30010-3
- 页数516
- 定价89.00
- 出版社电子工业出版社
- 出版时间2016年10月
- 开本16开
内容提要
也许你听说过全栈工程师,他们善于设计系统架构,精通资料库建模、通用网路协定、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。
《Python高效开发实战——Django、Tornado、Flask、Twisted》分为3部分第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,对网路协定、Web客户端技术、资料库建模编程等网路编程基础深入浅出地进行学习;第2部分是框架篇,学习当前最流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网路技术融会贯通的目的;第3部分是实战篇,分别对4种框架进行项目实践,利用其各自的特点开发适用于不同场景的网路程式。
《Python高效开发实战——Django、Tornado、Flask、Twisted》内容精练、重点突出、实例丰富、讲解通俗,是广大网路套用设计和开发人员不可多得的一本参考书,非常适合大中专院校师生学习和阅读,也可作为高等院校计算机及相关培训机构的教材。
目录
第1篇 打好Python基础
第1章 Python基础知识 2
1.1 Python综述 3
1.1.1 了解Python的特性及版本 3
1.1.2 安装Python 5
1.1.3 使用Python原生编辑器 7
1.1.4 使用Eclipse开发环境 9
1.1.5 Python编程入门——解决“斐波那契数列”问题 14
1.2 数据类型 16
1.2.1 Number类型 17
1.2.2 Sequence类型簇 20
1.2.3 String类型 22
1.2.4 Tuple类型 28
1.2.5 List类型 29
1.2.6 Set类型 30
1.2.7 Dictionary类型 33
1.3 流程控制 35
1.3.1 程式块与作用域 35
1.3.2 判断语句 36
1.3.3 循环语句 38
1.3.4 语句嵌套 41
1.4 函式 42
1.4.1 定义与使用 42
1.4.2 变长参数 44
1.4.3 匿名函式 46
1.5 异常 48
1.5.1 处理异常 48
1.5.2 自定义异常 50
1.6 面向对象编程 51
1.6.1 什幺是面向对象 52
1.6.2 类和对象 53
1.6.3 继承 61
1.7 本章 64
第2章 Web编程之网路基础 65
2.1 TCP/IP网路 66
2.1.1 计算机网路综述 66
2.1.2 TCP和UDP 70
2.1.3 C/S及B/S架构 73
2.2 HTTP 74
2.2.1 HTTP流程 75
2.2.2 HTTP讯息结构 76
2.2.3 HTTP请求方法 80
2.2.4 基于HTTP的网站开发 80
2.3 Socket编程 82
2.3.1 Socket基础 82
2.3.2 实战演练Socket TCP原语 83
2.3.3 实战演练Socket UDP原语 87
2.4 本章 88
第3章 客户端的编程技术 89
3.1 HTML 90
3.1.1 HTML介绍 90
3.1.2 HTML基本标籤 93
3.1.3 HTML表单 99
3.2 CSS 102
3.2.1 样式声明方式 103
3.2.2 CSS语法 104
3.2.3 基于CSS+DIV的页面布局 106
3.3 JavaScript 108
3.3.1 在HTML中嵌入JavaScript 108
3.3.2 JavaScript的基本语法 109
3.3.3 DOM及其读写 115
3.3.4 window对象 118
3.3.5 HTML事件处理 121
3.4 jQuery 124
3.4.1 使用jQuery 124
3.4.2 选择器 125
3.4.3 行为 126
3.5 本章 130
第4章 资料库及ORM 131
4.1 资料库概念 131
4.1.1 Web开发中的资料库 132
4.1.2 关係资料库建模 134
4.2 关係资料库编程 137
4.2.1 常用SQL语句 137
4.2.2 实战演练在Python中套用SQL 143
4.3 ORM编程 145
4.3.1 ORM理论基础 145
4.3.2 Python ORM库介绍 147
4.3.3 实战演练Peewee库编程 148
4.4 本章 151
第2篇 详解主流Python Web框架
第5章 Python网路框架纵览 154
5.1 网路框架综述 155
5.1.1 网路框架及MVC架构 155
5.1.2 4种Python网路框架Django、Tornado、Flask、Twisted 156
5.2 开发环境準备 157
5.2.1 使用Python虚环境 157
5.2.2 Windows环境下的安装 159
5.2.3 Linux环境下的安装 162
5.2.4 easy_install与pip的使用 163
5.3 Web伺服器 165
5.3.1 实战演练1WSGI接口 165
5.3.2 实战演练2Linux+Nginx+uWSGI配置 166
5.3.3 实战演练3建立安全的HTTPS网站 172
5.4 本章 174
第6章 企业级开发框架——Django 175
6.1 Django综述 176
6.1.1 Django的特点及结构 176
6.1.2 安装Django 177
6.2 实战演练开发Django站点 177
6.2.1 建立项目 177
6.2.2 建立套用 178
6.2.3 基本视图 179
6.2.4 内置Web伺服器 181
6.2.5 模型类 182
6.2.6 表单视图 185
6.2.7 使用管理界面 188
6.3 Django模型层 190
6.3.1 基本操作 190
6.3.2 关係操作 198
6.3.3 面向对象ORM 202
6.4 Django视图层 205
6.4.1 URL映射 205
6.4.2 视图函式 211
6.4.3 模板语法 213
6.5 使用Django表单 218
6.5.1 表单绑定状态 219
6.5.2 表单数据验证 219
6.5.3 检查变更栏位 222
6.6 个性化管理员站点 222
6.6.1 模型 222
6.6.2 模板 225
6.6.3 站点 227
6.7 本章 229
第7章 高并发处理框架——Tornado 230
7.1 Tornado概述 231
7.1.1 Tornado介绍 231
7.1.2 安装Tornado 232
7.2 异步及协程基础 232
7.2.1 同步与异步I/O 233
7.2.2 Python关键字yield 234
7.2.3 协程 236
7.3 实战演练开发Tornado网站 239
7.3.1 网站结构 240
7.3.2 路由解析 241
7.3.3 RequestHandler 242
7.3.4 异步化及协程化 248
7.4 用户身份验证框架 250
7.4.1 安全Cookie机制 250
7.4.2 用户身份认证 252
7.4.3 防止跨站攻击 254
7.5 HTML5 WebSocket概念及套用 256
7.5.1 WebSocket概念 256
7.5.2 服务端编程 259
7.5.3 客户端编程 261
7.6 Tornado网站部署 263
7.6.1 调试模式 264
7.6.2 静态档案 265
7.6.3 运营期配置 267
7.7 本章 269
第8章 支持快速建站的框架——Flask 270
8.1 Flask综述 271
8.1.1 Flask的特点 271
8.1.2 在Windows中的安装 272
8.1.3 在Linux及Mac中的安装 274
8.2 实战演练开发Flask站点 276
8.2.1 Hello World程式 276
8.2.2 模板渲染 278
8.2.3 重定向和错误处理 280
8.3 路由详解 281
8.3.1 带变数的路由 281
8.3.2 HTTP方法绑定 283
8.3.3 路由地址反向生成 284
8.4 使用Context上下文 285
8.4.1 会话上下文 286
8.4.2 套用全局对象 287
8.4.3 请求上下文 289
8.4.4 回调接入点 291
8.5 Jinja2模板编程 292
8.5.1 Jinja2语法 293
8.5.2 使用过滤器 294
8.5.3 流程控制 297
8.5.4 模板继承 300
8.6 SQLAlchemy资料库编程 303
8.6.1 SQLAlchemy入门 303
8.6.2 主流资料库的连线方式 307
8.6.3 查询条件设定 308
8.6.4 关係操作 311
8.6.5 级联 315
8.7 WTForm表单编程 321
8.7.1 定义表单 321
8.7.2 显示錶单 322
8.7.3 获取表单数据 324
8.8 本章 326
第9章 底层自定义协定网路框架——Twisted 327
9.1 Twisted综述 328
9.1.1 框架概况 328
9.1.2 安装Twisted及周边组件 328
9.2 实战演练开发TCP广播系统 330
9.2.1 广播伺服器 330
9.2.2 广播客户端 332
9.3 UDP编程技术 335
9.3.1 实战演练1普通UDP 335
9.3.2 实战演练2Connected UDP 338
9.3.3 实战演练3组播技术 340
9.4 Twisted高级话题 341
9.4.1 延迟调用 341
9.4.2 使用多执行绪 347
9.4.3 安全信道 349
9.5 本章 352
第3篇 实战项目
第10章 实战1用Django+PostgreSQL开发移动Twitter 354
10.1 项目概览 355
10.1.1 项目来源(GitHub) 355
10.1.2 安装PostgreSQL资料库并配置Python环境 356
10.1.3 项目结构 358
10.2 页面框架设计 360
10.2.1 基模板档案 360
10.2.2 手机大小自适应(jQuery技术) 363
10.2.3 文本国际化 364
10.2.4 网站页面一览 367
10.3 用户注册及登录 368
10.3.1 页面设计 368
10.3.2 模型层 370
10.3.3 视图设计 371
10.4 手机讯息的发布和浏览 376
10.4.1 页面设计 376
10.4.2 模型层 381
10.4.3 视图设计 382
10.5 社交朋友圈 385
10.5.1 页面设计 385
10.5.2 模型层 387
10.5.3 视图设计 388
10.6 个人资料配置 392
10.6.1 页面设计 392
10.6.2 图片上传(第三方库PIL) 394
10.7 Web管理站点 397
10.7.1 定义可管理对象 397
10.7.2 配置管理员 398
10.7.3 使用管理站点 398
10.8 本章 400
第11章 实战2用Tornado+jQuery开发WebSocket聊天室 401
11.1 聊天室概览 402
11.1.1 项目介绍 402
11.1.2 安装和代码结构 403
11.2 讯息通信 404
11.2.1 建立网站 404
11.2.2 WebSocket伺服器 407
11.2.3 WebSocket客户端 408
11.3 聊天功能 411
11.3.1 暱称 411
11.3.2 讯息来源 413
11.3.3 历史讯息快取 415
11.4 用户面板 416
11.4.1 用CSS定义用户列表 416
11.4.2 伺服器通知 418
11.4.3 回响伺服器动态通知(jQuery动态编程) 419
11.5 本章 420
第12章 实战3用Flask+Bootstrap+Restful开发学校管理系统 421
12.1 系统概览 422
12.1.1 来源及功能 422
12.1.2 项目安装 423
12.1.3 代码结构 425
12.2 数据模型设计 427
12.2.1 E-R图设计 427
12.2.2 SQLAlchemy建模 429
12.3 回响式页面框架设计 435
12.3.1 基模板组件引用 435
12.3.2 回响式导航 439
12.4 新建学校 441
12.4.1 WTForm表单 441
12.4.2 视图及档案上传 443
12.4.3 回响式布局 445
12.5 学校管理 447
12.5.1 查询视图 447
12.5.2 分页模板 450
12.6 Restful接口 453
12.6.1 Restful概念 453
12.6.2 Restless外挂程式 454
12.6.3 开发Restful接口 457
12.7 本章 461
第13章 实战4用Twisted+SQLAlchemy+ZeroMQ开发跨平台物联网讯息网关 463
13.1 项目概况 464
13.1.1 功能定义 464
13.1.2 安装和测试 465
13.1.3 项目结构 468
13.2 项目设计 469
13.2.1 SQLAlchmey建模 469
13.2.2 TCP接口设计 474
13.3 通信引擎 476
13.3.1 跨平台安全连线埠 477
13.3.2 管理连线 478
13.3.3 收发数据 479
13.3.4 TCP流式分包 482
13.3.5 异步执行 484
13.4 协定编程 486
13.4.1 执行命令 486
13.4.2 struct解析位元组流 489
13.4.3 序列号生成 490
13.4.4 连线保持 491
13.4.5 传送Response 492
13.4.6 错误机制 494
13.5 ZeroMQ集群 496
13.5.1 内部接口设计 496
13.5.2 PUB/SUB通信模型编程 498
13.6 本章 499