Python高效开发实战:Django、Tornado、Flask、Twisted(第3版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

有些人想学Python,却不知如何下手;有些人已经学会Python的基本语法,却不知如何使用Python进行网站设计和开发;有些人实践过个别Python网络框架,却因为Python框架过多而无法融会贯通。本书就是为他们准备的一本指南。正所谓知识来源于实践,本书严格遵守这一原则,对每个知识点都进行了示例分析,并在Python框架实战篇精选了4个不同应用场景的网络项目,帮助读者真正掌握和运用Python 3及其相关框架。

改版说明

相较于第2版,本版有如下改进。

(1)基于Python 3.8。

(2)四大框架的版本更新。

• Django修订为基于Python 3的Django 3。

• Tornado修订为基于Python 3的Tornado 6。

• Flask修订为基于Python 3的Flask 1.1.2。

• Twisted修订为基于Python 3的Twisted 20。

(3)根据前两版的读者反馈,修订了一些印刷错误和描述有歧义的地方。有些读者反馈说本书的项目案例都在Linux环境下,为此这次修订增加了一些Windows环境下运行程序的提示。

(4)书中对Python 2和Python 3的关联与不同都做了说明,零基础的读者阅读后可以同时具备这两种Python版本的编程能力和代码阅读能力。

(5)对描述中的一些语法相关的单词,规范了英文大小写,与代码中的大小写保持一致。

为什么要读这本书

如果你不知道本书能否帮到你,或者你不知道是否要选择本书,那么请先想想在平时的学习或工作中是否遇到过下列问题:

• 有一个很好的设计网站的想法,想用Python实现却无从下手;

• 刚学习了编程语言的if、for、while等各种语法,却不知道利用编程语言到底能做些什么;

• 精通C、C++等后台编程语言,却跟不上互联网新技术蓬勃发展的脚步;

• 学了美工画图、网页设计,却不懂数据库和网站搭建;

• 觉得Django、Tornado、Flask、Twisted框架的在线资料过于晦涩难懂;

• 知道各种Python Web框架,却不知道自己的项目适合哪一种;

• 学过W3CSchool中的Python课程,却不知道如何使用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 Web框架的开发者必须紧跟最新的框架版本!本书讲解的四个Python Web框架都使用基于Python 3的最新版本,读者能马上将其运用在当前开发环境中。这是一本内容新颖、全面的Python Web框架应用实战教材。

4. 内容全面

本书使得Python开发者不再局限于某个Web框架,一起学习这些框架有助于在学习的过程中举一反三。学完本书,读者可以成为Python Web编程方面的集大成者,对不同网络应用场景的设计和开发都能做到得心应手。

5. 中小示例、项目案例,一个都不能少

根据笔者多年的项目经验,本书将典型的示例与知识点加以整合,使读者对每章的知识点都能整体把握。最后介绍的项目案例不仅可以让读者在实际应用中更加熟练地掌握前面讲到的知识点,而且能让读者了解前端开发中由轮廓到细节的完整实现流程。

本书以Python Web实战为主,所有代码均通过了上机调试,力求让读者学得懂、练得会。

本书的内容安排

本书共3篇13章,内容覆盖编程基础、Web框架详解及开发实战。

上篇(第1~4章):Python基础

系统学习Python编程语言,并且掌握进行网络开发必备的网络、数据库设计、HTML、CSS、JavaScript等知识。本篇不仅适合新手学习,而且对有经验的开发者同样适用。

中篇(第5~9章):Python框架

详细讲述Django、Tornado、Flask、Twisted四大主流Python Web框架,在其中穿插讲解Python虚拟环境、Nginx服务器、SQLAlchemy、HTML模板、HTML 5、WebSocket等通用组件和技术。站在框架这个巨人的肩膀上,我们不仅可以提高开发效率,而且可以实现多人协同、风格统一。

下篇(第10~13章):Python框架实战

分别用四大主流框架开发不同类型的网站项目,模拟场景覆盖社交网站、聊天室、信息管理系统、物联网消息网关等各个方面,还加入了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开发的图书。

致谢

笔者要把本书献给笔者的父母、岳父母、妻子和孩子,感谢他们一直鼓励笔者,没有他们的支持,笔者无法做到这一切;还要感谢笔者的朋友和同事,感谢他们不断地鼓励和帮助笔者。笔者非常幸运,能够和这些聪明、努力的人一起工作和交流。

参与本书编写的还有薛淑英,特此致谢!

刘长龙