类似推荐
编辑推荐
电商系统设计实战: 从需求到实现
内容简介
本书以电商系统的设计为核心,从需求分析开始,一直到后期的细节实现,采用Django框架,讲解了利用它的特性,构建完整的网站。讲解了Django与数据库、缓存、消息队列、Docker、Nginx等技术组件配合工作实践。以Django为切入点,介绍了安全、测试、日志和监控。本书介绍了Web开发中常见实践,带有丰富的图例和示例,有非常高的实用价值。
章节目录
封面页
书名页
版权页
内容简介
作者简介
前言
目录
第1篇 开发工具及框架概述
第1章 从零开始学Django
1.1 网站运行原理
1.1.1 HTTP
1.1.2 Web发展
1.1.3 浏览器
1.1.4 MVC模式
1.2 Python Web编程
1.2.1 通用网关接口
1.2.2 WSGI协议
1.2.3 模板引擎
1.3 快速上手Django
1.3.1 配置开发环境
1.3.2 创建项目
1.3.3 配置说明
1.3.4 创建应用
1.3.5 启动开发服务器
1.3.6 编写一个页面
1.4 总 结
1.5 练 习
第2篇 项目案例实战
第2章 构建电商网站
2.1 网站需求分析
2.1.1 需求
2.1.2 需求分析
2.2 网站结构
2.2.1 分层设计
2.2.2 技术选型
2.3 用户模块
2.3.1 Django自带的用户模块
2.3.2 一对一扩展用户模型
2.3.3 继承AbstractBaseUser
2.3.4 继承AbstractUser
2.4 商品库模块
2.4.1 设计模型
2.4.2 获取商品
2.5 订单模块
2.5.1 购物篮模型
2.5.2 订单模型
2.5.3 获取订单数据
2.6 统计模块
2.7 总 结
2.8 练 习
第3章 Django和数据库
3.1 管 理
3.1.1 配置
3.1.2 连接池
3.1.3 更改表结构
3.2 查 询
3.2.1 保存对象
3.2.2 获取对象
3.2.3 懒加载和缓存
3.2.4 聚合查询
3.3 事 务
3.3.1 事务管理
3.3.2 自动提交
3.3.3 提交后执行操作
3.4 数据库并发控制
3.4.1 冲突
3.4.2 悲观锁
3.4.3 乐观锁
3.4.4 解决冲突
3.5 数据库扩展
3.5.1 扩展方法
3.5.2 读写分离
3.5.3 垂直分库
3.5.4 水平扩展
3.5.5 算法分片
3.5.6 动态分片
3.5.7 全局ID
3.6 MySQL实践
3.7 总 结
3.8 练 习
第4章 视 图
4.1 配置URL
4.1.1 URL匹配
4.1.2 配置嵌套
4.1.3 反向解析URL
4.2 视图函数
4.2.1 视图函数
4.2.2 请求和响应对象
4.2.3 模板响应对象
4.3 视图类
4.3.1 基本用法
4.3.2 视图类的优点
4.4 文件上传
4.4.1 文件表单
4.4.2 文件存储
4.4.3 使用对象存储系统
4.5 生成文件
4.5.1 生成CSV文件
4.5.2 生成PDF文件
4.6 中间件
4.7 总 结
4.8 练 习
第5章 模 板
5.1 Web模板系统
5.2 Django模板系统
5.2.1 配置
5.2.2 模板语言
5.3 模板继承
5.4 字符转义
5.5 自定义标签和过滤器
5.5.1 代码路径
5.5.2 编写自定义过滤器
5.5.3 自定义标签
5.6 总 结
5.7 练 习
第6章 表 单
6.1 网页表单
6.1.1 表单元素
6.1.2 提交数据
6.2 Django表单
6.2.1 处理流程
6.2.2 Form类
6.2.3 ModelForm类
6.2.4 表单集合
6.3 AJAX表单
6.3.1 AJAX技术
6.3.2 动态表单
6.4 验证码
6.4.1 表单验证码
6.4.2 AJAX验证码
6.5 总 结
6.6 练 习
第7章 Django和缓存
7.1 Web缓存系统
7.1.1 Redis缓存
7.1.2 HTTP缓存
7.2 Django缓存系统
7.2.1 配置缓存
7.2.2 使用缓存
7.2.3 缓存页面
7.2.4 使用HTTP缓存
7.3 缓存替换策略
7.4 写入策略
7.4.1 Cache-Aside模式
7.4.2 Write-Through模式
7.4.3 Write-Back模式
7.5 高可用缓存系统
7.5.1 Redis集群
7.5.2 Codis集群
7.5.3 缓存穿透和雪崩
7.6 总 结
7.7 练 习
第8章 Django和消息队列
8.1 消息队列
8.1.1 消息队列系统
8.1.2 使用消息队列
8.1.3 AMQP
8.1.4 使用RabbitMQ
8.2 Django和Celery框架
8.2.1 任务类
8.2.2 在Django中使用Celery
8.2.3 定时任务
8.2.4 任务路由
8.2.5 任务工作流
8.2.6 最佳实践
8.3 高可用消息队列
8.3.1 RabbitMQ高可用
8.3.2 NSQ系统
8.4 总 结
8.5 练 习
第9章 Django与安全
9.1 安全中间件
9.1.1 跨站点脚本防护
9.1.2 跨站点伪造请求防护
9.1.3 SQL注入防护
9.1.4 点击劫持
9.1.5 访问白名单
9.2 数据安全
9.2.1 密码保护
9.2.2 安全连接
9.2.3 请求签名
9.2.4 重放攻击
9.3 总 结
9.4 练 习
第10章 Django和访问控制
10.1 认证方式
10.1.1 HTTP基本访问认证
10.1.2 访问令牌
10.1.3 签名验证
10.1.4 OAuth2验证
10.2 会话状态
10.3 控制策略
10.3.1 访问控制列表
10.3.2 Django权限系统
10.3.3 基于身份的访问控制
10.4 总 结
10.5 练 习
第11章 Django和测试
11.1 单元测试
11.2 Django单元测试
11.2.1 编写测试用例
11.2.2 运行测试用例
11.3 Django测试工具
11.3.1 测试客户端
11.3.2 测试类
11.4 Mock测试
11.4.1 Mock对象
11.4.2 模拟返回值
11.4.3 副作用
11.4.4 限定模拟的范围
11.5 总 结
11.6 练 习
第3篇 高可用技术架构
第12章 Django与部署
12.1 软件部署
12.2 部署Django
12.2.1 Web服务网关接口
12.2.2 配置uWSGI服务器
12.2.3 配置Gunicorn服务器
12.2.4 配置Nginx服务器
12.3 服务管理
12.3.1 使用Supervisord管理服务
12.3.2 使用systemd管理服务
12.4 Django与虚拟化技术
12.4.1 使用Vagrant部署Django应用
12.4.2 使用Docker部署Django应用
12.4.3 Docker的reap问题
12.5 总 结
12.6 练 习
第13章 Django与负载均衡
13.1 调度算法
13.1.1 循环调度算法
13.1.2 最少连接调度算法
13.1.3 哈希调度算法
13.2 网络冗余
13.2.1 网卡绑定
13.2.2 虚拟路由器冗余
13.3 常用负载均衡器
13.3.1 负载均衡器的类型
13.3.2 Linux虚拟服务器
13.3.3 Nginx反向代理
13.4 服务发现
13.4.1 服务注册中心
13.4.2 注册服务
13.4.3 发现服务
13.5 总 结
13.6 练 习
第14章 Django与日志
14.1 Python日志模块
14.1.1 日志模块组件
14.1.2 使用日志模块
14.1.3 配置日志模块
14.2 Django日志工具
14.3 日志管理
14.3.1 Elastic技术栈
14.3.2 Elasticsearch集群
14.4 总 结
14.5 练 习
第15章 监 控
15.1 监控数据采集
15.1.1 工作指标
15.1.2 资源指标
15.1.3 事件
15.1.4 收集数据
15.2 告 警
15.3 使用Prometheus
15.3.1 Prometheus的工作方式
15.3.2 抓取Linux系统数据
15.3.3 抓取Nginx监控数据
15.3.4 抓取MySQL监控数据
15.3.5 数据存储
15.3.6 告警
15.4 总 结
15.5 练 习
第16章 常用工具
16.1 Git版本控制系统
16.1.1 Git工作方式
16.1.2 Gitflow工作流
16.1.3 Git日志用法
16.2 Linux常用软件
16.2.1 安全Shell
16.2.2 进程状态
16.2.3 系统性能
16.3 性能剖析
16.3.1 调用路径图
16.3.2 性能测试
16.3.3 使用Pyflame生成火焰图
16.4 总 结
16.5 练 习
附录CD
Django项目开发实战是2020年由清华大学出版社出版,作者黄索远。
得书感谢您对《Django项目开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。