第一章,初始Python Web开发
序
Python具有开发快速,适合多人协作,库丰富,社区成熟等优点,因此是一门非常适合用于Web开发的语言。国外的Youtube,Quora,国内的豆瓣,知乎等,均是以Pythonw为主要语言开发的。环境搭建,API设计,网站架构,系统管理,持续集成,服务化,数据处理,并发处理等,这些对于Web开发都是必要的。
对Web开发的理解其实可以有很多角度,比如,从开发者的角度,这就会更多从具体的功能实现,框架使用来看待;从运维的角度,会更多地从部署,维护,平台的角度来理解;从测试及质量的角度,会关心代码的测试性及代码审查;从框架开发者的角度,就要了解Web开发涉及哪些领域。
"全",本书的内容涉及了Web框架,Ajax的前后端交互,测试,数据库,数据分析,服务化,部署,系统管理,常用工具等内容。
"新",书中讲的许多东西都是现在流行的技术或工具。
前端技术虽然也算是Web开发技术,但是与Python的关系就不那么紧密了
前言
作者博客地址:dongwm.com
第一章,初始Python Web开发
用Python开发Web需要具备哪些技能?
1.至少熟悉一种python web框架
2.熟悉python语法
3.熟悉HTTP/TCP、Linux、数据库、Web服务器、Web基础(HTML/CSS/JS/ES6)、消息队列、分布式、虚拟化、RPC、缓存、搜索引擎、微服务、上线流程、趁手的开发工具、调试流程、分布式文件系统、安全等等
4.日常能使用Linux或Mac系统工作
5.有性能调优经验,能快速定位问题。
6.对HTML/CSS/JavaScript有一定了解,有使用经验
对于Web开发, 为什么选择Python
1.Python非常适合做快速的原型开发,很多场景下的性能问题可以通过使用C/C++写Python扩展等方式优化解决。
2.Python应用广泛,在大数据,算法,运维等领域都有不错的对应工具和库。
3.有非常强大的标准库和第三方库
4.非常多的知名项目都是Python编写的,豆瓣,搜狐,Reddit,YouTube,Instagram,Pinterest,Bitbucket,Disqus等公司都选择Python作为Web开发的语言,因此不用担心Python可靠性与性能问题。
主流Web框架
Django
Django和Flask是使用最广泛的Python Web框架。Django能如此知名很大程度上是因为提供了非常齐备的官方文档,它提供了一站式的解决方案,包括缓存,ORM,管理后台,验证,表单处理等,使得开发复杂的数据库驱动的网站变得很简单。但正因为它坚持自己对于Web框架的理解,系统耦合度太高,替换掉内置的功能往往需要花费一些功夫,所以学习曲线也相当陡峭。
Flask
Flask是一个轻量级Web应用框架。其设计哲学和Django不同:只保留核心,通过扩展机制来增加其他功能。Flask用到的依赖都是Pocoo团队开发的。Flask的拓展环境非常繁荣,基本上Web应用的每个环节都有对应的扩展供选择,就算没有对应的扩展也能很方便地自己实现一个。
Pyramid
中文文档匮乏,其高级用法需要通过阅读源代码获取灵感。性能比Flask略高
Bottle
其特点是单文件,代码只使用了Python标准库。它更符合微框架的定义,截至到今天只有4100行的代码
Tornado
Tornado全称Tornado Web Server,它和其他主流框架有个明显的区别:它是非阻塞式服务器,而且速度相当快。(阻塞式IO指的是“一旦输入/输出工作没有完成,则程序阻塞,直到输入/输出工作完成“)
Web.py
Web.py也是一个微框架,使用基于类的视图,简单易学却功能强大。
小众的Web框架
Klein用法非常像Flask,却可以使用异步的方式开发Web应用
初学Web框架,建议选择Flask作为入门,等熟悉Flask之后,再学习Django,就会容易很多。
第三章:Flask Web开发
Flask使用装饰器配置路由,用Blueprint实现模块化,请求/应用上下文等
主要依赖三个库:
Jinja2:默认的模板引擎
Werkzeug:一个包含WSGI,路由,调试的工具集
Itsdangerous:基于Django签名模块的签名实现

浙公网安备 33010602011771号