也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。 本书分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对网络协议、Web客户端技术、数据库建模编程等网络编程基础深入浅出地进行学习;第2部分是框架篇,学习当前最流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网络技术融会贯通的目的;第3部分是实战篇,分别对4种框架进行项目实践,利
Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)
✍ Scribed by 刘长龙
- Publisher
- 电子工业出版社
- Year
- 2019
- Tongue
- Chinese
- Leaves
- 516
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python 3及相关Web框架的学习和实践,你就可以成为这样的全能型人才。 本书分为3篇:上篇是Python基础,带领初学者实践Python开发环境,掌握基本语法,同时对网络协议、Web客户端技术、数据库建模编程等网络编程基础进行深入浅出的学习;中篇是Python框架,学习当前最流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网络技术融会贯通的目的;下篇是Python框架实战,分别对4种框架进行项目实践,利用其各自的特点开发适用于不同场景的网络程序。
✦ Table of Contents
扉页
版权页
前言
目录
上篇 Python基础
第1章 Python基础知识
1.1 Python 综述
1.1.1 了解Python 的特性及版本
1.1.2 安装Python
1.1.3 使用Python 原生编辑器
1.1.4 使用Eclipse 开发环境
1.1.5 Python 编程入门——解决“斐波那契数列”问题
1.2 数据类型
1.2.1 Number 类型
1.2.2 Sequence 类型簇
1.2.3 string 与bytes
1.2.4 tuple 类型
1.2.5 list 类型
1.2.6 set 类型
1.2.7 dict 类型
1.3 流程控制
1.3.1 程序块与作用域
1.3.2 判断语句
1.3.3 循环语句
1.3.4 语句嵌套
1.4 函数
1.4.1 定义与使用
1.4.2 变长参数
1.4.3 匿名函数
1.5 异常
1.5.1 处理异常
1.5.2 自定义异常
1.6 面向对象编程
1.6.1 什么是面向对象
1.6.2 类和对象
1.6.3 继承
1.7 本章总结
第2章 Web编程之网络基础
2.1 TCP/IP 网络
2.1.1 计算机网络综述
2.1.2 TCP 和UDP
2.1.3 C/S 及B/S 架构
2.2 HTTP
2.2.1 HTTP 流程
2.2.2 HTTP 消息结构
2.2.3 HTTP 请求方法
2.2.4 基于HTTP 的网站开发
2.3 Socket 编程
2.3.1 Socket 基础
2.3.2 实战演练:Socket TCP 原语
2.3.3 实战演练:Socket UDP 原语
2.4 本章总结
第3章 客户端的编程技术
3.1 HTML
3.1.1 HTML 介绍
3.1.2 HTML 基本标签
3.1.3 HTML 表单
3.2 CSS
3.2.1 样式声明方式
3.2.2 CSS 语法
3.2.3 基于CSS+DIV 的页面布局
3.3 JavaScript
3.3.1 在HTML 中嵌入JavaScript
3.3.2 JavaScript 的基本语法
3.3.3 DOM 及其读写
3.3.4 window 对象
3.3.5 HTML 事件处理
3.4 jQuery
3.4.1 使用jQuery
3.4.2 选择器
3.4.3 行为
3.5 本章总结
第4章 数据库及ORM
4.1 数据库概念
4.1.1 Web 开发中的数据库
4.1.2 关系数据库建模
4.2 关系数据库编程
4.2.1 常用SQL 语句
4.2.2 实战演练:在Python 中应用SQL
4.3 ORM 编程
4.3.1 ORM 理论基础
4.3.2 Python ORM 库介绍
4.3.3 实战演练:Peewee 库编程
4.4 本章总结
中篇 Python框架
第5章 Python网络框架纵览
5.1 网络框架综述
5.1.1 网络框架及MVC 架构
5.1.2 4 种Python 网络框架:Django、Tornado、Flask、Twisted
5.2 开发环境准备
5.2.1 easy_install 与pip 的使用
5.2.2 使用Python 虚环境virtualenv
5.3 Web 服务器
5.3.1 实战演练1:WSGI 接口
5.3.2 实战演练2:Linux+Nginx+uWSGI 配置
5.3.3 实战演练3:建立安全的HTTPS 网站
5.4 本章总结
第6章 企业级开发框架——Django
6.1 Django 综述
6.1.1 Django 的特点及结构
6.1.2 安装Django 2
6.2 实战演练:开发Django 站点
6.2.1 建立项目
6.2.2 建立应用
6.2.3 基本视图
6.2.4 内置Web 服务器
6.2.5 模型类
6.2.6 表单视图
6.2.7 使用管理界面
6.3 Django 模型层
6.3.1 基本操作
6.3.2 关系操作
6.3.3 面向对象ORM
6.4 Django 视图层
6.4.1 URL 映射
6.4.2 视图函数
6.4.3 模板语法
6.5 使用Django 表单
6.5.1 表单绑定状态
6.5.2 表单数据验证
6.5.3 检查变更字段
6.6 个性化管理员站点
6.6.1 模型
6.6.2 模板
6.6.3 站点
6.7 本章总结
第7章 高并发处理框架——Tornado
7.1 Tornado 概述
7.1.1 Tornado 介绍
7.1.2 安装Tornado
7.2 异步及协程基础
7.2.1 同步与异步I/O
7.2.2 可迭代(Iterable)与迭代器(Iterator)
7.2.3 用yield 定义生成器(Generator)
7.2.4 协程
7.3 实战演练:开发Tornado 网站
7.3.1 网站结构
7.3.2 路由解析
7.3.3 RequestHandler
7.3.4 异步化及协程化
7.4 用户身份验证框架
7.4.1 安全Cookie 机制
7.4.2 用户身份认证
7.4.3 防止跨站攻击
7.5 HTML 5 WebSocket 概念及应用
7.5.1 WebSocket 概念
7.5.2 服务端编程
7.5.3 客户端编程
7.6 Tornado 网站部署
7.6.1 调试模式
7.6.2 静态文件
7.6.3 运营期配置
7.7 本章总结
第8章 支持快速建站的框架——Flask
8.1 Flask 综述
8.1.1 Flask 的特点
8.1.2 安装Flask、SQLAlchemy 和WTForm
8.2 实战演练:开发Flask 站点
8.2.1 Hello World 程序
8.2.2 模板渲染
8.2.3 重定向和错误处理
8.3 路由详解
8.3.1 带变量的路由
8.3.2 HTTP 方法绑定
8.3.3 路由地址反向生成
8.4 使用Context 上下文
8.4.1 会话上下文
8.4.2 应用全局对象
8.4.3 请求上下文
8.4.4 回调接入点
8.5 Jinja2 模板编程
8.5.1 Jinja2 语法
8.5.2 使用过滤器
8.5.3 流程控制
8.5.4 模板继承
8.6 SQLAlchemy 数据库编程
8.6.1 SQLAlchemy 入门
8.6.2 主流数据库的连接方式
8.6.3 查询条件设置
8.6.4 关系操作
8.6.5 级联
8.7 WTForm 表单编程
8.7.1 定义表单
8.7.2 显示表单
8.7.3 获取表单数据
8.8 本章总结
第9章 底层自定义协议网络框架——Twisted
9.1 Twisted 综述
9.1.1 框架概况
9.1.2 安装Twisted 及周边组件
9.2 实战演练:开发TCP 广播系统
9.2.1 广播服务器
9.2.2 广播客户端
9.3 UDP 编程技术
9.3.1 实战演练1:普通UDP
9.3.2 实战演练2:Connected UDP
9.3.3 实战演练3:组播技术
9.4 Twisted 高级话题
9.4.1 延迟调用
9.4.2 使用多线程
9.4.3 安全信道
9.5 本章总结
下篇 Python框架实战
第10章 实战1:用Django+PostgreSQL开发移动Twitter
10.1 项目概览
10.1.1 项目来源(GitHub)
10.1.2 安装PostgreSQL 数据库并配置Python 环境
10.1.3 项目结构
10.2 页面框架设计
10.2.1 基模板文件
10.2.2 手机大小自适应(jQuery 技术)
10.2.3 文本国际化
10.2.4 网站页面一览
10.3 用户注册及登录
10.3.1 页面设计
10.3.2 模型层
10.3.3 视图设计
10.4 手机消息的发布和浏览
10.4.1 页面设计
10.4.2 模型层
10.4.3 视图设计
10.5 社交朋友圈
10.5.1 页面设计
10.5.2 模型层
10.5.3 视图设计
10.6 个人资料配置
10.6.1 页面设计
10.6.2 图片上传(第三方库PIL)
10.7 Web 管理站点
10.7.1 定义可管理对象
10.7.2 配置管理员
10.7.3 使用管理站点
10.8 本章总结
第11章 实战2:用Tornado+jQuery开发WebSocket聊天室
11.1 聊天室概览
11.1.1 项目介绍
11.1.2 安装和代码结构
11.2 消息通信
11.2.1 建立网站
11.2.2 WebSocket 服务器
11.2.3 WebSocket 客户端
11.3 聊天功能
11.3.1 昵称
11.3.2 消息来源
11.3.3 历史消息缓存
11.4 用户面板
11.4.1 用CSS 定义用户列表
11.4.2 服务器通知
11.4.3 响应服务器动态通知(jQuery 动态编程)
11.5 本章总结
第12章 实战3:用Flask+Bootstrap+Restful开发学校管理系统
12.1 系统概览
12.1.1 项目来源及功能
12.1.2 项目安装
12.1.3 代码结构
12.2 数据模型设计
12.2.1 E-R 图设计
12.2.2 SQLAlchemy 建模
12.3 响应式页面框架设计
12.3.1 基模板组件引用
12.3.2 响应式导航
12.4 新建学校
12.4.1 WTForm 表单
12.4.2 视图及文件上传
12.4.3 响应式布局
12.5 学校管理
12.5.1 查询视图
12.5.2 分页模板
12.6 Restful 接口
12.6.1 Restful 概念
12.6.2 Restless 插件
12.6.3 开发Restful 接口
12.7 本章总结
第13章 实战4:用Twisted+SQLAlchemy+ ZeroMQ开发跨平台物联网消息网关
13.1 项目概况
13.1.1 功能定义
13.1.2 安装和测试
13.1.3 项目结构
13.2 项目设计
13.2.1 SQLAlchmey 建模
13.2.2 TCP 接口设计
13.3 通信引擎
13.3.1 跨平台安全端口
13.3.2 管理连接
13.3.3 收发数据
13.3.4 TCP 流式分包
13.3.5 异步执行
13.4 协议编程
13.4.1 执行命令
13.4.2 struct 解析字节流
13.4.3 序列号生成
13.4.4 连接保持
13.4.5 发送Response
13.4.6 错误机制
13.5 ZeroMQ 集群
13.5.1 内部接口设计
13.5.2 PUB/SUB 通信模型编程
13.6 本章总结
📜 SIMILAR VOLUMES
<p>本书以博客系统贯穿始末,介绍了Django的方方面面。书中共分四部分,第一部分介绍了正式进入编码之前的准备工作,内容包括需求分析、基础知识和Demo系统的开发;第二部分开始实现需求,内容涉及环境配置、编码规范以及项目结构规划,编写了Model层、admin页面、Form代码和View逻辑,引入了Bootstrap框架;第三部分重点介绍xadmin、django-autocomple-light和django-rest-framework等第三方插件;最后一部分介绍调试、优化、自动化部署以及压力测试等内容。</p>
<p>◎ 编辑推荐</p> <p>Python 之父 Guido van Rossum 推荐的爬虫入门书,第 1 版销量近 100000 册;</p> <p>微软中国大数据工程师、博客文章过百万的静觅大神力作;</p> <p>新增异步爬虫、JavaScript 逆向、App 逆向、智能网页解析、深度学习识别验证码、Kubernetes 运维及部署等知识点</p> <p>◎ 内容简介</p> <p>本书介绍了如何利用 Python 3 开发网络爬虫。本书为第 2 版,相比于第 1 版,为每个知识点的实战项目配备了针对性的练习平台,避免了案例过期的问题。另外,主要增加了异步爬虫、Java
<p>◎ 编辑推荐</p> <p>Python 之父 Guido van Rossum 推荐的爬虫入门书,第 1 版销量近 100000 册;</p> <p>微软中国大数据工程师、博客文章过百万的静觅大神力作;</p> <p>新增异步爬虫、JavaScript 逆向、App 逆向、智能网页解析、深度学习识别验证码、Kubernetes 运维及部署等知识点</p> <p>◎ 内容简介</p> <p>本书介绍了如何利用 Python 3 开发网络爬虫。本书为第 2 版,相比于第 1 版,为每个知识点的实战项目配备了针对性的练习平台,避免了案例过期的问题。另外,主要增加了异步爬虫、Java
<p>《跟老齐学Python:Django实战(第2版)》是以Python为基础进行Web应用开发的进阶读物。《跟老齐学Python:Django实战(第2版)》中以一个实例项目为主线,使用Django 2开发框架,在实践中边学边做,理论联系实际。每节都配有思维导图,使读者对项目需求一目了然;每章都有知识点和文档导读,引导读者“知其所以然”。相信认真阅读《跟老齐学Python:Django实战(第2版)》的读者,不仅能够得到“鱼”,更能得到“渔”,从而具备独立开发项目的能力。</p> <p>《跟老齐学Python:Django实战(第2版)》适合已经具有Python基础技能、进行Web应用开
本书从Python 3.6.4的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。本书从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。 本书共10章,涵盖的内容有Python3.6语言的基本语法、Python常用IDE的使用、Python第三方模块的导入使用、Python爬虫常用模块、Scrapy爬虫、Beautiful Soup爬虫、Mechanize模拟浏览器和Selenium模拟浏览器、Pyspider爬虫框架、爬虫与反爬虫。本书所有源代码已上传网盘供读者下载。 本书内容丰富,实例典型,实用性强。适合Python网络爬虫初学