技术教育社区
www.teccses.org

Python Web企业级项目开发教程(Django版)

封面

作者:黑马程序员

页数:336

出版社:中国铁道出版社

出版日期:2020

ISBN:9787113267261

电子书格式:pdf/epub/txt

内容简介

Python 是当今比较流行的编程语言之一,Web 开发领域自然无法缺少Python 的身影。 Python Web 发展过程中诞生了数十种框架,其中 Django 框架因简洁、优秀且实用的结构和良 好的开发效率,受到了广大 Web 开发工程师的喜爱。
本书在 Windows 上基于 Python 3.x 与 Django 2.x 对 Django 框架相关知识进行讲解,并以 此为基础利用Django 框架实现了一个完整的电商平台。本书分为14 章,其中前8 章介绍了 Django 的基础知识,包括 Django 概述、路由系统、模型、模板、视图、后台管理系统、表单、 身份验证系统 ;第 9~14 章从需求与前期准备着手,逐步实现了完整的 Django Web 项目。
本书附有配套视频、源代码、习题、教学课件等资源。为帮助初学者更好地学习本书中 的内容,还提供了在线答疑,希望得到更多读者的关注。
本书适合作为高等院校计算机相关专业 Django 框架课程或 Python 进阶课程的专用教材, 也可作为供自学者使用的辅助教材,适合具有 Python 语言基础的读者参考使用。

作者简介

黑马程序员,江苏传智播客教育科技股份有限公司(简称传智播客)是一家致力于培养高素质软件开发人才的科技公司,黑马程序员是传智播客旗下高端IT教育品牌。

本书特色

本书在 Windows 上基于 Python 3.x 与 Django 2.x 对 Django 框架相关知识进行讲解,并以 此为基础利用Django 框架实现了一个完整的电商平台。

目录

第 1 章 Django概述 .1

1.1 认识Django .1

1.1.1 Django发展史1

1.1.2 Django框架的优点2

1.2 安装Django .2

1.2.1 Django版本选择2

1.2.2 创建隔离的Python环境 3

1.2.3 使用pip安装Django 4

1.3 创建第一个Django项目 .5

1.3.1 新建Django项目5

1.3.2 项目结构说明 .5

1.3.3 运行开发服务器 .6

1.3.4 Django项目配置7

1.3.5 在项目中创建应用 .9

1.4 Django架构之MTV 11

1.5 Django的开发理念 .11

小结 .13

习题 .13

第 2 章 路由系统 .15

2.1 认识路由系统 15

2.1.1 HTTP请求处理流程概述 .15

2.1.2 URL配置示例 .16

2.2 路由转换器 17

2.2.1 内置路由转换器 .17

2.2.2 自定义路由转换器 .18

2.3 使用正则表达式匹配URL .19

2.4 路由分发 20

2.5 向视图传递额外参数 21

2.6 URL命名与命名空间 22

2.6.1 URL命名 .22

2.6.2 使用reverse()反向解析URL .22

2.6.3 应用命名空间 .23

2.6.4 实例命名空间 .24

小结 .25

习题 .25

第 3 章 模型 .27

3.1 定义与使用模型 27

3.2 模型的字段 29

3.2.1 字段类型 .29

3.2.2 关系字段 .30

3.2.3 字段的通用参数 .32

3.3 模型的元属性 32

3.4 Manager管理器 33

3.4.1 管理器名称 .33

3.4.2 自定义管理器 .33

3.5 数据的增删改查 34

3.6 QuerySet的使用 .36

3.6.1 多表查询 .36

3.6.2 F对象与Q对象 38

3.6.3 QuerySet的特性 38

3.7 执行原始SQL语句 .39

小结 .40

习题 .40

第 4 章 模板 .42

4.1 模板与模板引擎 42

4.2 模板查找顺序 43

4.3 模板语言 44

4.3.1 变量 .45

4.3.2 过滤器 .45

4.3.3 标签 .48

4.3.4 自定义过滤器和标签 .52

4.4 模板继承 55

4.5 Jinja2 .57

小结 .58

习题 .58

第 5 章 视图 .61

5.1 认识视图 61

5.2 请求对象 62

5.3 响应对象 64

5.3.1 HttpResponse类 .65

5.3.2 HttpResponse的子类 .66

5.4 实例1:商品管理 67

5.5 模板响应对象 70

5.5.1 TemplateResponse .70

5.5.2 模板响应对象的渲染 .71

5.6 生成响应的快捷方式 73

5.7 类视图 75

5.7.1 定义类视图 .75

5.7.2 基础视图类 .75

5.7.3 配置类属性 .77

5.8 实例2:基于类视图的商品管理 78

5.9 通用视图 82

5.9.1 通用视图分类 .82

5.9.2 通用视图与模型 .82

5.9.3 添加额外的上下文对象 .84

5.9.4 通过queryset控制页面内容 .84

5.9.5 重要属性和方法 .85

小结 .85

习题 .85

第 6 章 后台管理系统——Admin .87

6.1 认识Admin .87

6.1.1 进入Admin 87

6.1.2 使用Admin .89

6.2 ModelAdmin选项 .93

6.2.1 列表页选项 .93

6.2.2 编辑页选项 .99

6.3 认证和授权 101

6.4 重写Admin后台模板 .106

小结 .107

107

第 7 章 表单 .109

7.1 Django表单概述 .109

7.1.1 在Django中定义表单的方式 .109

7.1.2 Form类的常用字段 .110

7.1.3 字段的通用参数 .111

7.1.4 实例化、处理和渲染表单 .112

7.1.5 表单实例的形式 .113

7.1.6 表单验证 .113

7.2 在模板中渲染表单 114

7.3 表单集 116

7.3.1 创建表单集 .116

7.3.2 管理表单集 .117

7.3.3 验证表单集 .118

7.3.4 使用表单集 .118

7.4 根据模型创建表单 119

7.4.1 自定义模型表单类 .119

7.4.2 模型表单类的字段 .120

7.4.3 使用模型表单类 .121

7.4.4 利用工厂函数定义模型表单类 .123

7.4.5 利用工厂函数定义表单集 .123

7.5 实例:基于表单类的商品管理 124

小结 .127

习题 .127

第 8 章 身份验证系统 129

8.1 User对象 .129

8.2 权限与权限管理 131

8.2.1 默认权限 .131

8.2.2 权限管理 .132

8.2.3 自定义权限 .133

8.3 Web请求认证 .134

8.3.1 用户登录与退出 .134

8.3.2 限制用户访问 .135

8.4 模板与身份验证 136

8.4.1 验证用户 .136

8.4.2 验证权限 .137

8.5 自定义用户模型 138

8.6 状态保持 138

8.6.1 Cookie 139

8.6.2 Session .141

小结 .144

145

第 9 章 电商项目——前期准备 146

9.1 项目需求 146

9.2 模块归纳 156

9.3 项目开发模式与运行机制 157

9.4 项目创建和配置 158

9.4.1 创建项目 .158

9.4.2 配置开发环境 .158

9.4.3 配置Jinja2模板 159

9.4.4 配置MySQL数据库 161

9.4.5 配置Redis数据库 162

9.4.6 配置项目日志 .162

9.4.7 配置前端静态文件 .164

9.4.8 配置应用目录 .164

小结 .166

习题 .166

第 10 章 电商项目——用户管理与验证 167

10.1 定义用户模型类 167

10.2 用户注册 168

10.2.1 用户注册逻辑分析 .168

10.2.2 用户注册后端基础需求的实现 .170

10.2.3 用户名与手机号唯一性校验 .173

10.2.4 验证码 .176

10.3 用户登录 190

10.3.1 使用用户名登录 .190

10.3.2 使用手机号登录 .192 10.3.3 状态保持 .193

10.3.4 首页展示用户名 .194

10.3.5 退出登录 .195

10.4 用户中心 195

10.4.1 用户基本信息 .196

10.4.2 添加邮箱 .198

10.4.3 基于Celery的邮箱验证 .200

10.4.4 省市区三级联动 .207

10.4.5 新增与展示收货地址 .211

10.4.6 设置默认地址与修改地址标题 .216

10.4.7 修改与删除收货地址 .218

10.4.8 修改登录密码 .221

小结 .223

习题 .223

第 11 章 电商项目——商品数据的呈现 .224

11.1 商品数据库表设计 .224

11.2 准备商品数据 .227

11.3 呈现首页数据 .231

11.3.1 呈现首页商品分类 .231

11.3.2 呈现首页商品广告 .235

11.4 商品列表 .237

11.4.1 商品列表页分析 .238

11.4.2 获取商品分类 .239

11.4.3 列表面包屑导航 .242

11.4.4 呈现商品列表 .244

11.4.5 列表页热销排行 .248

11.5 商品搜索 .250

11.5.1 准备搜索引擎 .250

11.5.2 渲染商品搜索结果 .253

11.5.3 搜索结果分页 .254

11.6 商品详情 .255

11.6.1 分析与准备商品详情页 .255

11.6.2 呈现商品详情数据 .256

11.7 用户浏览记录 .260

11.7.1 浏览记录存储方案 .260

11.7.2 保存和查询浏览记录 .261

小结 .264

习题 .264

第 12 章 电商项目——购物车 265

12.1 购物车存储方案 265

12.1.1 登录用户购物车存储方案 .265

12.1.2 未登录用户购物车存储方案 .267

12.2 购物车管理 269

12.2.1 购物车添加商品 .269

12.2.2 展示购物车商品 .272

12.2.3 修改购物车商品 .274

12.2.4 删除购物车商品 .277

12.2.5 全选购物车 .279

12.2.6 合并购物车 .281

12.3 展示购物车缩略信息 282

小结 .285

习题 .285

第 13 章 电商项目——订单模块 286

13.1 结算订单 286

13.1.1 逻辑分析与接口定义 .286

13.1.2 后端逻辑实现 .287

13.1.3 前端页面渲染 .290

13.2 提交订单 292

13.2.1 定义订单表模型 .292

13.2.2 保存订单信息 .294

13.2.3 呈现订单提交成功页面 .296

13.3 基于事务的订单数据保存 298

13.3.1 Django中事务的使用298

13.3.2 使用事务保存订单数据 .299

13.4 基于乐观锁的并发下单 301

13.5 查看订单 303

小结 .306

习题 .306

第 14 章 电商项目——支付与评价 .307

14.1 支付宝开放平台介绍 307

14.2 对接支付宝系统 310

14.2.1 支付信息配置 .310

14.2.2 订单支付功能 .312

14.2.3 保存订单支付结果 .315

14.3 商品评价 316

14.3.1 评价订单商品 .317

14.3.2 在详情页展示商品评价 319

小结 .322

习题 .322

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Python Web企业级项目开发教程(Django版)》
Article link:https://www.teccses.org/1174092.html