在线客服
Python高效开发实战:Django、Tornado、Flask、Twisted图书
人气:46

Python高效开发实战:Django、Tornado、Flask、Twisted

四种主流的Python Web开发框架,零基础完成网站搭建、数据库设计、前后端开发,多方位领悟Python原理与应用
  • 所属分类:图书 >计算机/网络>程序设计>其他  
  • 作者:[刘长龙]著
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787121300103
  • 出版社:电子工业出版社
  • 出版时间:2016-10
  • 印刷时间:2016-10-01
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。本书分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对网络协议、Web客户端技术、数据库建模编程等网络编程基础深入浅出地进行学习;第2部分是框架篇,学习当前流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网络技术融会贯通的目的;第3部分是实战篇,分别对4种框架进行项目实践,利用其各自的特点开发适用于不同场景的网络程序。本书内容精练、重点突出、实例丰富、讲解通俗,是广大网络应用设计和开发人员不可多得的一本参考书,同时非常适合大中专院校师生学习和阅读,也可作为高等院校计算机及相关培训机构的教材。

编辑推荐

一本书掌握Python基础及高效实践方法 全新Python框架版本的应用实践指南

目录

第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 实战演练1:WSGI接口 165

5.3.2 实战演练2:Linux 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 实战演练2:Connected 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

在线预览

5.1 网络框架综述本节学习Python网络框架的概念和开发方法,然后了解Web经典架构MVC的原理和作用。

网络框架及MVC架构所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议、线程、进程等方面。这样能大大提高开发者的工作效率,同时提高网络应用程序的质量。在目前Python语言的几十个开发框架中,几乎所有的全栈网络框架都强制或引导开发者使用MVC架构开发Web应用。所谓全栈网络框架,是指除了封装网络和线程操作,还提供HTTP栈、数据库读写管理、HTML模板引擎等一系列功能的网络框架。本书重点讲解的Django、Tornado和Flask是全栈网络框架的典型标杆;而Twisted更专注于网络底层的高性能封装而不提供HTML模板引擎等界面功能,所以不能称之为全栈框架。

MVC(Model-View-Controller)模式最早由Trygve Reenskaug在1978年提出,在20世纪80年代是程序语言Smalltalk的一种内部架构。后来MVC被其他语言所借鉴,成为了软件工程中的一种软件架构模式。MVC把Web应用系统分为3个基本部分。? 模型(Model):用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑的部分,Model只提供功能性的接口,通过这些接口可以获取Model的所有功能。Model不依赖于View和Controller,它们可以在任何时候调用Model访问数据。有些Model还提供了事件通知机制,为在其上注册过的View或Controller提供实时的数据更新。

视图(View):负责数据的显示和呈现,View是对用户的直接输出。MVC中的一个Model通常为多个View提供服务。为了获取Model的实时更新数据,View应该尽早地注册到Model中。? 控制器(Controller):负责从用户端收集用户的输入,可以看成提供View的反向功能。当用户的输入导致View发生变化时,这种变化必须是通过Model反映给View的。在MVC架构下,Controller一般不能与View直接通信,这样提高了业务数据的一致性,即以Model作为数据中心。这3个基本部分互相分离,使得在改进和升级界面及用户交互流程时,不需要重写业务逻辑及数据访问代码。MVC架构如图5.1所示。 图5.1 MVC架构图注意:MVC在除Python外的其他语言中也有广泛应用,例如VC 的MFC、Java的Structs及Spring、C#的.NET开发框架,读者应该有深刻的体会。

5.1 网络框架综述本节学习Python网络框架的概念和开发方法,然后了解Web经典架构MVC的原理和作用。

网络框架及MVC架构所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议、线程、进程等方面。这样能大大提高开发者的工作效率,同时提高网络应用程序的质量。在目前Python语言的几十个开发框架中,几乎所有的全栈网络框架都强制或引导开发者使用MVC架构开发Web应用。所谓全栈网络框架,是指除了封装网络和线程操作,还提供HTTP栈、数据库读写管理、HTML模板引擎等一系列功能的网络框架。本书重点讲解的Django、Tornado和Flask是全栈网络框架的典型标杆;而Twisted更专注于网络底层的高性能封装而不提供HTML模板引擎等界面功能,所以不能称之为全栈框架。

网友评论(不代表本站观点)

来自无昵称**的评论:

挺好的,拿来了解一些其它web框架

2016-11-16 22:32:09
来自神州君**的评论:

python高效实战开发

2016-11-22 07:48:20
来自communi**的评论:

整体感觉不错

2016-11-26 17:14:52
来自无昵称**的评论:

精美

2016-11-29 23:46:19
来自陈志恒**的评论:

很好

2016-12-02 20:46:34
来自无昵称**的评论:

不错

2016-12-05 22:32:16
来自无昵称**的评论:

下次还来买

2016-12-21 20:04:11
来自匿名用**的评论:

昨天订的书,第二天就到了,便宜很多,而且很方便的,上回也买一本,也是第二天到的,节省很多时间的,以后会常来……

2017-02-08 23:18:07
来自小***啊**的评论:

这本书可以

2017-02-15 16:24:02
来自a***q(**的评论:

不错不错不错

2017-02-25 18:20:42
来自匿名用**的评论:

商品已收到,期待

2017-03-07 10:20:13
来自匿名用**的评论:

web框架 很厚的一本书

2017-04-25 11:22:23
来自匿名用**的评论:

屯了好多书,慢慢看了

2017-04-26 06:48:42
来自**(匿名**的评论:

正在看,感觉需要一定的基础

2017-04-30 23:08:17
来自匿名用**的评论:

很不错,谢谢

2017-05-08 14:48:48
来自a***4(**的评论:

看起来挺不错的

2017-06-16 09:30:03
来自匿名用**的评论:

整体感觉不错

2017-06-19 22:22:49
来自鸭鸭学**的评论:

用过的书吗 折痕 扯破的地方粘了胶带 还有黑手印 当当你卖的二手书吗 鄙视

2017-06-22 20:17:26
来自匿名用**的评论:

质量不错,很值得购买

2017-07-01 00:18:18
来自匿名用**的评论:

包罗万象 但貌似不少地方都是一带而过

2017-09-06 10:36:15
来自无昵称**的评论:

发货快,服务好,好好好好

2017-10-27 12:23:30
来自无昵称**的评论:

物流压坏书。。。。。

2017-11-05 00:33:08
来自无昵称**的评论:

物流太慢了五六天才到,包装也不好,书有折损。太烂了!

2017-11-06 12:55:46
来自无昵称**的评论:

需要警惕出版社的微博营销,无论从内容组织和行文上都很一般。

2016-12-07 10:31:09
来自无昵称**的评论:

打开包装后,书皮正面破了个洞,不知道是什么原因,连带着书里面也有两三页破了

2016-12-01 17:03:05
来自北凉柿**的评论:

很好,订单留的电话停机了,三天后才发现,感谢快递小哥一直给留

2017-04-29 15:21:49

免责声明

更多出版社