《Django Web应用开发实战》简介:

本书由一线资深软件工程师结合多年Python开发经验倾力编撰,集Django架站、案例实践、前瞻技术于一体,是一本精通Djang Web开发的技术总结。全书以Python 3.7和Django 2.2版本实现,从网站开发入门开始,逐步深入讲述Django框架的各功能要点,每个功能要点从源码角度分析,并在源码的基础上实现自定义的功能开发。还介绍了Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、分布式任务和定时任务、即时通信实现在线聊天。本书提供了4个实战案例,包括信息反馈平台、博客系统、音乐网站平台、前后端分离与微服务架构,涵盖了网站的单体式开发、前后端分离和微服务开发,从单一的网站开发转变到网站架构设计开发。最后讲述Django的上线部署方案,分别讲述Django如何部署在Windows和Linux系统上。

本书注重案例教学,讲解深入浅出,适合有一定Python基础的开发人员和网站开发人员阅读,也可用作培训机构和大中专院校相关专业的教学参考书。

《Django Web应用开发实战》目录:

第1章 Django建站基础 1
1.1 网站的定义及组成 1
1.2 网站的分类 2
1.3 网站运行原理及开发流程 4
1.3.1 常用术语 4
1.3.2 网站的运行原理 4
1.3.3 网站的开发流程 5
1.3.4 任务划分 5
1.4 走进Django 6
1.5 Django 2的新特性 6
1.6 安装Django 7
1.7 创建项目 8
1.8 PyCharm创建项目 10
1.9 Django入门基础 11
1.9.1 Django的操作指令 11
1.9.2 开启Hello World之旅 13
1.10 调试Django项目 15
1.10.1 PyCharm断点调试 15
1.10.2 调试异常 17
1.11 本章小结 19
第2章 Django配置信息 22
2.1 基本配置信息 22
2.2 资源文件配置 24
2.2.1 资源路由——STATIC_URL 24
2.2.2 资源集合——STATICFILES_DIRS 25
2.2.3 资源部署——STATIC_ROOT 26
2.2.4 媒体资源——MEDIA 27
2.3 模板配置 28
2.4 数据库配置 30
2.4.1 mysqlclient连接MySQL 30
2.4.2 pymysql连接MySQL 32
2.4.3 多个数据库的连接方式 33
2.5 中间件 34
2.6 本章小结 35
第3章 初探路由 37
3.1 路由定义规则 37
3.1.1 Django 2.X路由定义 37
3.1.2 Django 1.X路由定义 40
3.1.3 路由变量的设置 41
3.1.4 正则表达式的路由定义 44
3.2 命名空间与路由命名 45
3.2.1 命名空间namespace 45
3.2.2 路由命名name 46
3.3 路由的使用方式 48
3.3.1 在模板中使用路由 48
3.3.2 反向解析reverse与resolve 51
3.3.3 路由重定向 54
3.4 本章小结 56
第4章 探究FBV视图 58
4.1 设置响应方式 58
4.1.1 返回响应内容 58
4.1.2 设置重定向 62
4.1.3 异常响应 64
4.1.4 文件下载功能 66
4.2 HTTP请求对象 70
4.2.1 获取请求信息 71
4.2.2 文件上传功能 74
4.2.3 Cookie实现反爬虫 79
4.2.4 请求头实现反爬虫 86
4.3 本章小结 89
第5章 探究CBV视图 91
5.1 数据显示视图 91
5.1.1 重定向视图RedirectView 91
5.1.2 基础视图TemplateView 94
5.1.3 列表视图ListView 96
5.1.4 详细视图DetailView 101
5.2 数据操作视图 104
5.2.1 表单视图FormView 104
5.2.2 新增视图CreateView 107
5.2.3 修改视图UpdateView 109
5.2.4 删除视图DeleteView 111
5.3 日期筛选视图 113
5.3.1 月份视图MonthArchiveView 115
5.3.2 周期视图WeekArchiveView 120
5.4 本章小结 122
第6章 深入模板 124
6.1 Django模板引擎 124
6.1.1 模板上下文 124
6.1.2 自定义标签 126
6.1.3 模板继承 130
6.1.4 自定义过滤器 132
6.2 Jinja2模板引擎 136
6.2.1 安装与配置 137
6.2.2 模板语法 140
6.2.3 自定义过滤器 142
6.3 本章小结 143
第7章 模型与数据库 145
7.1 模型定义与数据迁移 145
7.1.1 定义模型 145
7.1.2 开发个人的ORM框架 149
7.1.3 数据迁移 152
7.1.4 数据导入与导出 155
7.2 数据表关系 157
7.3 数据表操作 161
7.3.1 数据新增 161
7.3.2 数据修改 164
7.3.3 数据删除 165
7.3.4 数据查询 166
7.3.5 多表查询 169
7.3.6 执行SQL语句 173
7.3.7 数据库事务 175
7.4 多数据库的连接与使用 178
7.4.1 多数据库的连接 178
7.4.2 多数据库的使用 180
7.5 本章小结 183
第8章 表单与模型 185
8.1 初识表单 185
8.2 源码分析Form 189
8.3 源码分析ModelForm 195
8.4 视图里使用Form 199
8.5 视图里使用ModelForm 201
8.6 本章小结 204
第9章 Admin后台系统 206
9.1 走进Admin 206
9.2 源码分析ModelAdmin 210
9.3 Admin首页设置 215
9.4 Admin的二次开发 217
9.4.1 函数get_readonly_fields() 218
9.4.2 设置字段样式 219
9.4.3 函数get_queryset () 221
9.4.4 函数formfield_for_foreignkey() 221
9.4.5 函数formfield_for_choice_field() 222
9.4.6 函数save_model() 223
9.4.7 数据批量操作 225
9.4.8 自定义Admin模板 226
9.4.9 自定义Admin后台系统 228
9.5 本章小结 234
第10章 Auth认证系统 236
10.1 内置User实现用户管理 236
10.2 发送邮件实现密码找回 244
10.3 模型User的扩展与使用 251
10.4 权限的设置与使用 258
10.5 自定义用户权限 260
10.6 设置网页的访问权限 262
10.7 用户组的设置与使用 268
10.8 本章小结 270
第11章 常用的Web应用程序 273
11.1 会话控制 273
11.1.1 会话的配置与操作 273
11.1.2 使用会话实现商品抢购 277
11.2 缓存机制 283
11.2.1 缓存的类型与配置 284
11.2.2 缓存的使用 286
11.3 CSRF防护 290
11.4 消息框架 292
11.4.1 源码分析消息框架 292
11.4.2 消息框架的使用 294
11.5 分页功能 298
11.5.1 源码分析分页功能 298
11.5.2 分页功能的使用 301
11.6 国际化和本地化 305
11.6.1 环境搭建与配置 305
11.6.2 设置国际化 306
11.6.3 设置本地化 308
11.7 单元测试 309
11.7.1 定义测试类 310
11.7.2 运行测试用例 316
11.8 自定义中间件 317
11.8.1 中间件的定义过程 317
11.8.2 中间件实现Cookie反爬虫 320
11.9 本章小结 323
第12章 第三方功能应用 327
12.1 Django Rest Framework框架 327
12.1.1 DRF的安装与配置 327
12.1.2 序列化类Serializer 329
12.1.3 模型序列化类ModelSerializer 333
12.1.4 序列化的嵌套使用 336
12.2 验证码生成与使用 339
12.2.1 Django Simple Captcha的安装与配置 339
12.2.2 使用验证码实现用户登录 342
12.3 站内搜索引擎 346
12.3.1 Django Haystack的安装与配置 346
12.3.2 使用搜索引擎实现产品搜索 349
12.4 第三方网站实现用户注册 355
12.4.1 Social-Auth-App-Django的安装与配置 355
12.4.2 微博账号实现用户注册 359
12.5 分布式任务和定时任务 361
12.5.1 Celery的安装与配置 361
12.5.2 分布式任务 363
12.5.3 定时任务 366
12.6 即时通信——在线聊天 368
12.6.1 Channels的安装与配置 368
12.6.2 Web在线聊天功能 372
12.7 本章小结 375
第13章 信息反馈平台 377
13.1 项目设计与配置 377
13.1.1 项目架构设计 378
13.1.2 MySQL搭建与配置 379
13.1.3 功能配置 381
13.1.4 数据库架构设计 383
13.2 程序功能开发 384
13.2.1 路由与视图函数 384
13.2.2 使用Jinja2编写模板文件 386
13.2.3 Admin后台系统 389
13.3 测试与运行 390
13.3.1 编写单元测试 390
13.3.2 运行与上线 392
13.4 本章小结 395
第14章 博客系统的开发 397
14.1 项目设计与配置 397
14.1.1 项目架构设计 400
14.1.2 功能配置 401
14.1.3 数据表架构设计 403
14.1.4 定义路由列表 406
14.1.5 编写共用模板 407
14.2 注册与登录 410
14.3 博主资料信息 414
14.4 图片墙功能 416
14.5 留言板功能 418
14.6 文章列表 422
14.7 文章正文内容 425
14.8 Admin后台系统 429
14.8.1 模型的数据管理 429
14.8.2 自定义Admin的登录页面 433
14.8.3 Django CKEditor生成文章编辑器 435
14.9 测试与部署 438
14.9.1 测试业务逻辑 438
14.9.2 上线部署 442
14.10 本章小结 443
第15章 音乐网站平台的开发 445
15.1 项目设计与配置 445
15.1.1 项目架构设计 449
15.1.2 功能配置 450
15.1.3 数据表架构设计 452
15.1.4 定义路由列表 456
15.1.5 编写共用模板 457
15.2 网站首页 457
15.3 歌曲排行榜 463
15.4 歌曲搜索 467
15.5 歌曲播放与下载 471
15.6 歌曲点评 478
15.7 注册与登录 483
15.8 用户中心 487
15.9 Admin后台系统 491
15.10 自定义异常页面 494
15.11 部署与运行 495
15.11.1 上线部署 496
15.11.2 网站试运行 497
15.12 本章小结 498
第16章 前后端分离与微服务架构 500
16.1 Vue框架 500
16.1.1 Vue开发产品信息页 500
16.1.2 Vue发送AJAX请求 504
16.2 Django开发API接口 505
16.2.1 简化Django内置功能 505
16.2.2 设置跨域访问 507
16.2.3 使用路由视图开发API接口 508
16.2.4 DRF框架开发API接口 511
16.3 微服务架构 512
16.3.1 微服务实现原理 512
16.3.2 功能拆分 515
16.3.3 设计API网关 519
16.3.4 调试与运行 522
16.4 本章小结 523
第17章 Django项目上线部署 525
17.1 基于Windows部署Django 525
17.1.1 安装IIS服务器 525
17.1.2 创建项目站点 527
17.1.3 配置静态资源 530
17.2 基于Linux部署Django 531
17.2.1 安装Linux虚拟机 531
17.2.2 安装Python 3 537
17.2.3 部署uWSGI服务器 538
17.2.4 安装Nginx部署项目 541
17.3 本章小结 542
附录A Django面试题 544
附录B Django资源列表 548
· · · · · ·