Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)
全新正版 急速发货
¥
48.4
4.9折
¥
99
全新
库存5件
作者刘长龙
出版社电子工业出版社
ISBN9787121355066
出版时间2018-12
装帧平装
开本其他
定价99元
货号26438448
上书时间2024-12-26
商品详情
- 品相描述:全新
- 商品描述
-
前言
有些人想学Python,却不知如何下手;有些人已经学会Python的基本语法,却不知如何使用Python进行网站设计和开发;有些人实践过个别Python网络框架,却因为Python框架过多而无法融会贯通。本书就是为他们准备的一本指南。正所谓知识来源于实践,本书严格遵守这一原则,对每个知识点都进行了示例分析,并在Python框架实战篇精选了4个不同应用场景的网络项目,帮助读者真正掌握和运用Python 3及其相关框架。
改版说明
相较于第1版,本版有如下改进。
(1)基于Python 3.7版本。
(2)四大框架的版本更新。
Django修订为基于Python 3的Django 2。
Tornado修订为基于Python 3的Tornado 5。
Flask修订为基于Python 3的Flask 1.0.2。
Twisted修订为基于Python 3的Twisted 18。
(3)根据第1版的读者反馈,修订了一些印刷错误和描述有歧义的地方。
(4)书中对Python 2与Python 3的关联与不同都做了说明,零基础的读者阅读后可以同时具备这两种Python版本的编程能力和代码阅读能力。
(5)对描述中的一些语法相关的单词,规范了英文大小写,与代码中的大小写保持一致。
为什么要读这本书
如果你不知道本书能否帮到你,或者你不知道是否要选择本书,那么请先想想在平时的学习或工作中是否遇到过下列问题:
有一个很好的设计网站的想法,想用Python实现却无从下手;
刚学习了编程语言的if、for、while等各种语法,却不知道利用编程语言到底能做些什么;
精通C、C 等后台编程语言,却跟不上互联网蓬勃发展的新技术;
学了美工画图、网页设计,却不懂数据库和网站搭建;
觉得Django、Tornado、Flask、Twisted框架的在线资料过于晦涩难懂;
知道各种Python Web框架,却不知道自己的项目适合哪一种;
学过W3CSchool中的Python课程,却不知道如何使用框架提高开发效率;
会开发网站程序,却不知道如何集成Nginx等Web服务器;
听说过SSL,让自己的网站支持HTTPS/SSL却力不从心;
学过网络编程,却还是不知道IPv6和IPv4的区别;
会网络数据库开发,却分不清楚PostgreSQL、SQLite、Oracle、MySQL、SQL Server的区别;
不知道网络流量大的网站使用什么框架开发好。
如果其中有些是你困惑的,那么本书也许能帮到你;如果通过学习本书能帮你解决实际问题,那么笔者也就实现了写作本书的目标。
本书的编写特点
1.零基础要求
在学习本书之前不需要具备任何计算机专业背景,任何有志于Python及Web站点设计的读者都能利用本书从头学起。本书在基础和实践部分都有大量实例,代码精练,紧扣所讲要点,以加深读者的印象;同时结合笔者多年使用Python语言的开发经验,阐述了很多代码编写技巧,读者可将代码复制到自己的机器上进行实践和演练。
2.合理的章节安排
本书首先讲解了Python编程语言基础、网络和数据库基础、前端页面基础等,然后详细讲解了Django、Tornado、Flask、Twisted这四大主流的Python Web开发框架,后通过项目实践帮助读者综合运用之前学到的知识。
3.的框架版本
主流Python Web框架都是开源软件,并且仍随着计算机软硬件的进步不断发展,所以使用Python框架的开发者必须紧跟的框架版本!本书讲解的4个Web框架都使用基于Python 3的版本,读者能马上将其运用在当前开发环境中。这是一本内容新颖、全面的Python Web框架应用实战教材。
4.内容全面
本书使得Python开发者不再局限于某个Web框架,一起学习这些框架有助于在学习的过程中举一反三。读者学完本书可以成为Python Web编程方面的集大成者,对不同网络应用场景的设计和开发都能做到得心应手。
5.中小示例、项目案例,一个都不能少
根据笔者多年的项目经验,本书将典型的示例与知识点加以整合,让读者对每章的知识点都能整体把握。后4章介绍的项目案例不仅可以让读者在实际应用中更加熟练地掌握前面讲到的知识点,而且能让读者了解前端开发中由轮廓到细节的完整实现流程。
本书以Python Web实战为主,所有代码均通过了上机调试,力求让读者学得懂、练得会。
本书的内容安排
本书共3篇13章,内容覆盖编程基础、Web框架详解及开发实战。
上篇(第1~4章)打好Python基础
系统学习Python编程语言,并且掌握进行网络开发的网络基础、数据库设计、HTML、CSS、JavaScript等知识。本篇不仅适合新手学习,而且对有经验的开发者同样适用。
中篇(第5~9章)详解主流Python Web框架
详细讲述Django、Tornado、Flask、Twisted四大主流Python Web框架,在其中穿插学习Python虚环境、Nginx服务器、SQLAlchemy、HTML模板、HTML 5、WebSocket等通用组件和技术。站在框架这个巨人的肩膀上,我们不仅可以提高开发效率,而且可以实现多人协同、风格统一。
下篇(第10~13章)实战项目
分别用四大主流框架开发不同类型的网站项目应用,模拟场景覆盖社交网站、聊天室、信息管理系统、物联网消息网关等各个方面,在其中还加入了JavaScript、CSS、jQuery、Bootstrap等前端关键技术的应用,使得读者通过深入浅出的学习和实践成为全能开发者。
笔者按照自身近20年的学习和开发经验编排了本书的章节顺序,因此推荐按顺序从第1章学习到第13章,尤其不能遗漏Python基础篇的内容。时间特别紧迫或者只想精通个别Python Web框架的读者,可以在阅读Python基础篇后直接阅读所需框架在其他两篇中的相应部分内容。
本书知识点图
本书的目标读者
Python编程技术爱好者。
Django、Tornado、Flask、Twisted项目参与者。
网站设计人员。
网站开发人员。
Web前端开发入门者。
想由网页设计拓展为后台开发的设计者。
由单机软件开发转向Web开发的技术人员。
全栈开发人员。
大中专院校的学生及各种IT培训学校的学生。
希望自己动手设计站点原型的需求分析人员。
编者推荐
本书的写作目的是确保读者能运用一些工具、框架、已有代码来提高开发效率、节约人力成本,确保读者能活学活用本书所讲解的内容。通过阅读本书,读者能知道如何设计一个网站、如何选择Python Web框架,以及如何使用框架快速开发应用。全书包含大量的实战案例和开发技巧,总结了使用Python进行Web开发时的优秀实践(Django、Tornado、Flask、Twisted、SQLAlchemy、Nginx、JavaScript、jQuery),讨论了各种实际问题的解决方案,是目前市场上全面介绍Python Web开发的书籍。
致谢
笔者要把本书献给笔者的父母、岳父母、妻子和孩子,感谢他们一直鼓励笔者,没有他们的支持,笔者无法做到这一切;还要感谢笔者的朋友和同事,感谢他们不断地鼓励和帮助笔者。笔者非常幸运,能够和这些聪明、努力的人一起工作和交流。
导语摘要
也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python 3及相关Web框架的学习和实践,你就可以成为这样的全能型人才。本书分为3篇:上篇是Python基础,带领初学者实践Python开发环境,掌握基本语法,同时对网络协议、Web客户端技术、数据库建模编程等网络编程基础进行深入浅出的学习;中篇是Python框架,学习当前*流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网络技术融会贯通的目的;下篇是Python框架实战,分别对4种框架进行项目实践,利用其各自的特点开发适用于不同场景的网络程序。
本书内容精练、重点突出、实例丰富、讲解通俗,是广大网络应用设计和开发人员不可多得的一本参考书。本书非常适合大中专院校师生学习和阅读,也可作为计算机培训机构的教材。
作者简介
刘长龙,复旦大学信息管理学士学位、上海交通大学计算机技术硕士学位,从事计算机软件研发十余年。对应用软件开发有较广泛深入了解,用C 、Python等技术主持负责过电信级实时计费系统、客户管理系统、智能家居、物联网云平台的研究和设计开发工作。在不写作的时候,业余时间喜欢跑步和游泳。
目录
上篇 Python基础
第1章 Python基础知识2
1.1 Python综述3
1.1.1 了解Python的特性及版本3
1.1.2 安装Python5
1.1.3 使用Python原生编辑器8
1.1.4 使用Eclipse开发环境9
1.1.5 Python编程入门——解决“斐波那契数列”问题14
1.2 数据类型17
1.2.1 Number类型17
1.2.2 Sequence类型簇21
1.2.3 string与bytes23
1.2.4 tuple类型30
1.2.5 list类型31
1.2.6 set类型32
1.2.7 dict类型35
1.3 流程控制37
1.3.1 程序块与作用域37
1.3.2 判断语句38
1.3.3 循环语句40
1.3.4 语句嵌套42
1.4 函数43
1.4.1 定义与使用43
1.4.2 变长参数45
1.4.3 匿名函数47
1.5 异常49
1.5.1 处理异常49
1.5.2 自定义异常51
1.6 面向对象编程52
1.6.1 什么是面向对象52
1.6.2 类和对象54
1.6.3 继承61
1.7 本章总结64
第2章 Web编程之网络基础65
2.1 TCP/IP网络66
2.1.1 计算机网络综述66
2.1.2 TCP和UDP70
2.1.3 C/S及B/S架构73
2.2 HTTP74
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 HTML90
3.1.1 HTML介绍90
3.1.2 HTML基本标签93
3.1.3 HTML表单99
3.2 CSS102
3.2.1 样式声明方式103
3.2.2 CSS语法104
3.2.3 基于CSS DIV的页面布局106
3.3 JavaScript108
3.3.1 在HTML中嵌入JavaScript108
3.3.2 JavaScript的基本语法109
3.3.3 DOM及其读写115
3.3.4 window对象118
3.3.5 HTML事件处理121
3.4 jQuery124
3.4.1 使用jQuery124
3.4.2 选择器125
3.4.3 行为126
3.5 本章总结130
第4章 数据库及ORM131
4.1 数据库概念131
4.1.1 Web开发中的数据库132
4.1.2 关系数据库建模134
4.2 关系数据库编程137
4.2.1 常用SQL语句137
4.2.2 实战演练:在Python中应用SQL143
4.3 ORM编程145
4.3.1 ORM理论基础145
4.3.2 Python ORM库介绍147
4.3.3 实战演练:Peewee库编程148
4.4 本章总结151
中篇 Python框架
第5章 Python网络框架纵览154
5.1 网络框架综述155
5.1.1 网络框架及MVC架构155
5.1.2 4种Python网络框架:Django、Tornado、Flask、Twisted156
5.2 开发环境准备157
5.2.1 easy_install与pip的使用157
5.2.2 使用Python虚环境virtualenv159
5.3 Web服务器161
5.3.1 实战演练1:WSGI接口161
5.3.2 实战演练2:Linux Nginx uWSGI配置162
5.3.3 实战演练3:建立安全的HTTPS网站168
5.4 本章总结170
第6章 企业级开发框架——Django171
6.1 Django综述172
6.1.1 Django的特点及结构172
6.1.2 安装Django 2173
6.2 实战演练:开发Django站点173
6.2.1 建立项目173
6.2.2 建立应用174
6.2.3 基本视图175
6.2.4 内置Web服务器177
6.2.5 模型类178
6.2.6 表单视图181
6.2.7 使用管理界面184
6.3 Django模型层186
6.3.1 基本操作186
6.3.2 关系操作194
6.3.3 面向对象ORM198
6.4 Django视图层201
6.4.1 URL映射201
6.4.2 视图函数207
6.4.3 模板语法209
6.5 使用Django表单215
6.5.1 表单绑定状态215
6.5.2 表单数据验证215
6.5.3 检查变更字段218
6.6 个性化管理员站点219
6.6.1 模型219
6.6.2 模板221
6.6.3 站点223
6.7 本章总结225
第7章 高并发处理框架——Tornado226
7.1 Tornado概述227
7.1.1 Tornado介绍227
7.1.2 安装Tornado228
7.2 异步及协程基础228
7.2.1 同步与异步I/O228
7.2.2 可迭代(Iterable)与迭代器(Iterator)229
7.2.3 用yield定义生成器(Generator)231
7.2.4 协程233
7.3 实战演练:开发Tornado网站237
7.3.1 网站结构237
7.3.2 路由解析238
7.3.3 RequestHandler240
7.3.4 异步化及协程化245
7.4 用户身份验证框架247
7.4.1 安全Cookie机制247
7.4.2 用户身份认证249
7.4.3 防止跨站攻击251
7.5 HTML 5 WebSocket概念及应用253
7.5.1 WebSocket概念253
7.5.2 服务端编程256
7.5.3 客户端编程259
7.6 Tornado网站部署261
7.6.1 调试模式261
7.6.2 静态文件263
7.6.3 运营期配置265
7.7 本章总结267
第8章 支持快速建站的框架——Flask268
8.1 Flask综述269
8.1.1 Flask的特点269
8.1.2 安装Flask、SQLAlchemy和WTForm270
8.2 实战演练:开发Flask站点271
8.2.1 Hello World程序272
8.2.2 模板渲染273
8.2.3 重定向和错误处理275
8.3 路由详解276
8.3.1 带变量的路由276
8.3.2 HTTP方法绑定278
8.3.3 路由地址反向生成279
8.4 使用Context上下文281
8.4.1 会话上下文281
8.4.2 应用全局对象282
8.4.3 请求上下文284
8.4.4 回调接入点286
8.5 Jinja2模板编程288
8.5.1 Jinja2语法288
8.5.2 使用过滤器290
8.5.3 流程控制293
8.5.4 模板继承296
8.6 SQLAlchemy数据库编程298
8.6.1 SQLAlchemy入门299
8.6.2 主流数据库的连接方式303
8.6.3 查询条件设置303
8.6.4 关系操作306
8.6.5 级联310
8.7 WTForm表单编程316
8.7.1 定义表单317
8.7.2 显示表单318
8.7.3 获取表单数据319
8.8 本章总结321
第9章 底层自定义协议网络框架——Twisted322
9.1 Twisted综述323
9.1.1 框架概况323
9.1.2 安装Twisted及周边组件323
9.2 实战演练:开发TCP广播系统325
9.2.1 广播服务器325
9.2.2 广播客户端327
9.3 UDP编程技术330
9.3.1 实战演练1:普通UDP330
9.3.2 实战演练2:Connected UDP333
9.3.3 实战演练3:组播技术335
9.4 Twisted高级话题337
9.4.1 延迟调用337
9.4.2 使用多线程343
9.4.3 安全信道345
9.5 本章总结348
下篇 Python框架实战
第10章 实战1:用Django PostgreSQL开发移动Twitter352
10.1 项目概览353
10.1.1 项目来源(GitHub)353
10.1.2 安装PostgreSQL数据库并配置Python环境354
10.1.3 项目结构356
10.2 页面框架设计358
10.2.1 基模板文件359
10.2.2 手机大小自适应(jQuery技术)361
10.2.3 文本国际化362
10.2.4 网站页面一览365
10.3 用户注册及登录366
10.3.1 页面设计366
10.3.2 模型层368
10.3.3 视图设计369
10.4 手机消息的发布和浏览374
10.4.1 页面设计374
10.4.2 模型层379
10.4.3 视图设计380
10.5 社交朋友圈383
10.5.1 页面设计383
10.5.2 模型层385
10.5.3 视图设计386
10.6 个人资料配置389
10.6.1 页面设计390
10.6.2 图片上传(第三方库PIL)391
10.7 Web管理站点395
10.7.1 定义可管理对象395
10.7.2 配置管理员396
10.7.3 使用管理站点396
10.8 本章总结398
第11章 实战2:用Tornado jQuery开发WebSocket聊天室399
11.1 聊天室概览400
11.1.1 项目介绍400
11.1.2 安装和代码结构401
11.2 消息通信40
— 没有更多了 —
以下为对购买帮助不大的评价