Django项目开发实战

Django项目开发实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

电商系统设计实战: 从需求到实现

内容简介

本书以电商系统的设计为核心,从需求分析开始,一直到后期的细节实现,采用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项目开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
iOS  项目开发全程实录 电子书
本书共17章,从搭建开发环境开始,依次讲解了搭建开发环境实战,Objective-C语法实战,Swift语法实战,界面布局实战,控件应用实战,屏幕显示实战,自动交互实战,图形、图像和动画实战,多媒体应用实战,互联网应用实战,地图定位应用实战,传感器、触摸和交互实战,硬件设备操作实战,游戏应用实战,WatchOS2开发实战,开发框架实战以及移动Web应用等知识。本书适合iOS初学者、iOS爱好者、i
鸿蒙应用开发实战 电子书
本书为华为鸿蒙系统HarmonyOS开发图书,以JavaScript为开发语言,提供完整源代码。
Vulkan开发实战详解 电子书
本书共分为19章,介绍了Vulkan的诞生、特点、开发环境的搭建以及运行机制、渲染管线和调试技术,着色器编程语言—GLSL、投影及各种变换、光照、纹理映射、3D模型的加载、混合与雾、两种测试及片元丢弃、顶点着色器的妙用、片元着色器的妙用、真实光学环境的模拟、阴影及高级光照、几种高级着色器特效、骨骼动画、Vulkan的性能优化等,最后以一个休闲游戏—方块历险记的案例来展示Vulkan的功能与技术。本
Vue企业开发实战 电子书
《大型电商网站大麦网开发:vue、ES6与Webpack技能结合》
ReactNative移动开发实战 电子书
React native入门书籍,打造高品质移动用户体验。