Django Web应用开发实战

Django Web应用开发实战

作者:黄永祥

出版社:清华大学出版社

出版年:2019-12-01

评分:5分

ISBN:9787302539780

所属分类:网络科技

书刊介绍

Django Web应用开发实战 内容简介

循序渐进,知识全面:本书站在初学者的角度,围绕Python的Django框架展开讲解,从初学者**基础知识着手,循序渐进地介绍了Django的各种知识,内容难度适中,由浅入深,实用性强,覆盖面广,条理清晰,且具有较强的逻辑性和系统性。
实例丰富,扩展性强:本书每个知识点都是单独以一个项目为例进行讲解,力求让读者更容易地掌握知识要点。本书实例经过作者的精心设计和挑选,根据编者的实际开发经验总结而来,涵盖在实际开发中遇到的各种问题。
基于理论,注重实践:在讲解的过程中,不仅介绍理论知识,而且安排了综合应用实例或小型应用程序,将理论应用到实践中,加强读者的实际开发能力,巩固开发技能和相关知识。

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.5Django 2的新特性 6
1.6安装Django 7
1.7创建项目 8
1.8PyCharm创建项目 10
1.9Django入门基础 11
1.9.1Django的操作指令 11
1.9.2开启Hello World之旅 13
1.10调试Django项目 15
1.10.1PyCharm断点调试 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.1mysqlclient连接MySQL 30
2.4.2pymysql连接MySQL 32
2.4.3多个数据库的连接方式 33
2.5中间件 34
2.6本章小结 35
第3章初探路由 37
3.1路由定义规则 37
3.1.1Django 2.X路由定义 37
3.1.2Django 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.2HTTP请求对象 70
4.2.1获取请求信息 71
4.2.2文件上传功能 74
4.2.3Cookie实现反爬虫 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.1Django模板引擎 124
6.1.1模板上下文 124
6.1.2自定义标签 126
6.1.3模板继承 130
6.1.4自定义过滤器 132
6.2Jinja2模板引擎 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.3Admin首页设置 215
9.4Admin的二次开发 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.3CSRF防护 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.1Django Rest Framework框架 327
12.1.1DRF的安装与配置 327
12.1.2序列化类Serializer 329
12.1.3模型序列化类ModelSerializer 333
12.1.4序列化的嵌套使用 336
12.2验证码生成与使用 339
12.2.1Django Simple Captcha的安装与配置 339
12.2.2使用验证码实现用户登录 342
12.3站内搜索引擎 346
12.3.1Django Haystack的安装与配置 346
12.3.2使用搜索引擎实现产品搜索 349
12.4第三方网站实现用户注册 355
12.4.1Social-Auth-App-Django的安装与配置 355
12.4.2微博账号实现用户注册 359
12.5分布式任务和定时任务 361
12.5.1Celery的安装与配置 361
12.5.2分布式任务 363
12.5.3定时任务 366
12.6即时通信——在线聊天 368
12.6.1Channels的安装与配置 368
12.6.2Web在线聊天功能 372
12.7本章小结 375
第13章信息反馈平台 377
13.1项目设计与配置 377
13.1.1项目架构设计 378
13.1.2MySQL搭建与配置 379
13.1.3功能配置 381
13.1.4数据库架构设计 383
13.2程序功能开发 384
13.2.1路由与视图函数 384
13.2.2使用Jinja2编写模板文件 386
13.2.3Admin后台系统 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.8Admin后台系统 429
14.8.1模型的数据管理 429
14.8.2自定义Admin的登录页面 433
14.8.3Django 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.9Admin后台系统 491
15.10自定义异常页面 494
15.11部署与运行 495
15.11.1上线部署 496
15.11.2网站试运行 497
15.12本章小结 498
第16章前后端分离与微服务架构 500
16.1Vue框架 500
16.1.1Vue开发产品信息页 500
16.1.2Vue发送AJAX请求 504
16.2Django开发API接口 505
16.2.1简化Django内置功能 505
16.2.2设置跨域访问 507
16.2.3使用路由视图开发API接口 508
16.2.4DRF框架开发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
附录ADjango面试题 544
附录BDjango资源列表 548

Django Web应用开发实战 作者简介

黄永祥,资深软件工程师,主要从事系统开发、爬虫开发和自动化开发,精通B/S和C/S软件开发和自动化测试技术,乐于交流和分享开发技术和经验。

相关推荐

微信二维码