书籍详情
《Django3Web应用开发实战》[31M]百度网盘|亲测有效|pdf下载
  • Django3Web应用开发实战

  • 出版社:清华大学出版社
  • 出版时间:2021-06
  • 热度:11133
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

编辑推荐

以Django Web项目开发为主线,从源码的角度,深入剖析Django 3 企业级开发技术


涉及Django 3异步编程、微服务架构、前后端分离模式以及多个项目的开发与部署


内容简介

本书以Django Web项目开发为主线,深入系统地介绍了Django 3在Web开发中的应用。从网站开发入门开始,逐步深入讲述Django框架的各功能要点,每个功能要点从源码角度分析,并在源码的基础上实现自定义的功能开发。还介绍了Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、异步任务和定时任务、即时通信实现在线聊天。本书提供了4个实战案例,包括信息反馈平台、博客系统、音乐网站平台、前后端分离与微服务架构,涵盖了网站的单体式开发、前后端分离和微服务开发,从单一的网站开发转变到网站架构设计开发。最后讲述Django的上线部署方案,分别讲述Django如何部署在Windows和Linux系统上。

本书内容丰富,技术新颖,注重实战,适合有一定Python基础的Web开发人员阅读,也可用作培训机构和大中专院校相关专业的教学参考书。




作者简介

黄永祥,资深软件工程师,从业10年,先后从事过系统开发和自动化开发工作,精通自动化测试技术(B/S和C/S),尤其是Python语言及Flask、Django框架,拥有丰富的开发经验。已出版《实战Python网络爬虫》《精通Python自动化编程》等图书。

目录

第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 6

1.6 创建项目 7

1.7 PyCharm创建项目 9

1.8 开启Django Hello World 11

1.8.1 Django的操作指令 11

1.8.2 开启Hello World之旅 13

1.9 调试Django项目 15

1.9.1 PyCharm断点调试 15

1.9.2 调试异常 17

1.10 HTML、CSS和JavaScript 19

1.10.1 HTML 19

1.10.2 CSS 21

1.10.3 JavaScript 24

1.11 本章小结 26

第2章 Django配置信息 29

2.1 基本配置信息 29

2.2 资源文件配置 31

2.2.1 资源路由——STATIC_URL 31

2.2.2 资源集合——STATICFILES_DIRS 32

2.2.3 资源部署——STATIC_ROOT 33

2.2.4 媒体资源——MEDIA 34

2.3 模板配置 35

2.4 数据库配置 37

2.4.1 mysqlclient连接MySQL 37

2.4.2 pymysql连接MySQL 39

2.4.3 多个数据库的连接方式 40

2.4.4 使用配置文件动态连接数据库 41

2.4.5 通过SSH隧道远程连接MySQL 43

2.5 中间件 45

2.6 本章小结 46

第3章 初探路由 48

3.1 路由定义规则 48

3.1.1 Django 2以上版本路由定义 48

3.1.2 Django 1.X路由定义 51

3.1.3 路由变量的设置 52

3.1.4 正则表达式的路由定义 55

3.2 命名空间与路由命名 56

3.2.1 命名空间namespace 56

3.2.2 路由命名name 57

3.3 路由的使用方式 59

3.3.1 在模板中使用路由 59

3.3.2 反向解析reverse与resolve 62

3.3.3 路由重定向 65

3.4 本章小结 67

第4章 探究FBV视图 69

4.1 设置响应方式 69

4.1.1 返回响应内容 69

4.1.2 设置重定向 73

4.1.3 异常响应 75

4.1.4 文件下载功能 77

4.2 HTTP请求对象 81

4.2.1 获取请求信息 82

4.2.2 文件上传功能 85

4.2.3 Cookie实现反爬虫 90

4.2.4 请求头实现反爬虫 97

4.3 本章小结 100

第5章 探究CBV视图 102

5.1 数据显示视图 102

5.1.1 重定向视图RedirectView 102

5.1.2 基础视图TemplateView 105

5.1.3 列表视图ListView 107

5.1.4 详细视图DetailView 112

5.2 数据操作视图 115

5.2.1 表单视图FormView 115

5.2.2 新增视图CreateView 118

5.2.3 修改视图UpdateView 120

5.2.4 删除视图DeleteView 122

5.3 日期筛选视图 124

5.3.1 月份视图MonthArchiveView 126

5.3.2 周期视图WeekArchiveView 131

5.4 本章小结 133

第6章 深入模板 135

6.1 Django模板引擎 135

6.1.1 模板上下文 135

6.1.2 自定义标签 137

6.1.3 模板继承 141

6.1.4 自定义过滤器 143

6.2 Jinja2模板引擎 147

6.2.1 安装与配置 148

6.2.2 模板语法 151

6.2.3 自定义过滤器 153

6.3 本章小结 154

第7章 模型与数据库 156

7.1 模型定义与数据迁移 156

7.2 数据表关系 168

7.3 数据表操作 172

7.4 多数据库的连接与使用 189

7.5 动态创建模型与数据表 194

7.6 MySQL分表功能 197

7.7 本章小结 201

第8章 表单与模型 203

8.1 初识表单 203

8.2 源码分析Form 207

8.3 源码分析ModelForm 213

8.4 视图里使用Form 217

8.5 视图里使用ModelForm 219

8.6 同一网页多个表单 222

8.7 一个表单多个按钮 225

8.8 表单的批量处理 227

8.9 多文件批量上存 231

8.10 本章小结 236

第9章 Admin后台系统 238

9.1 走进Admin 238

9.2 源码分析ModelAdmin 242

9.3 Admin首页设置 247

9.4 Admin的二次开发 249

9.4.1 函数get_readonly_fields() 250

9.4.2 设置字段样式 251

9.4.3 函数get_queryset() 253

9.4.4 函数formfield_for_foreignkey() 253

9.4.5 函数formfield_for_choice_field() 254

9.4.6 函数save_model() 255

9.4.7 数据批量操作 257

9.4.8 自定义Admin模板 258

9.4.9 自定义Admin后台系统 260

9.5 本章小结 266

第10章 Auth认证系统 268

10.1 内置User实现用户管理 268

10.2 发送邮件实现密码找回 276

10.3 模型User的扩展与使用 283

10.4 权限的设置与使用 290

10.5 自定义用户权限 292

10.6 设置网页的访问权限 294

10.7 用户组的设置与使用 300

10.8 本章小结 302

第11章 常用的Web应用程序 305

11.1 会话控制 305

11.2 缓存机制 315

11.3 CSRF防护 322

11.4 消息框架 324

11.5 分页功能 330

11.6 国际化和本地化 337

11.7 单元测试 341

11.8 自定义中间件 349

11.9 异步编程 355

11.10 信号机制 363

11.11 本章小结 373

第12章 第三方功能应用 377

12.1 Django Rest Framework框架 377

12.2 验证码生成与使用 389

12.3 站内搜索引擎 396

12.4 第三方网站实现用户注册 404

12.5 异步任务和定时任务 411

12.6 即时通信——在线聊天 417

12.7 本章小结 425

第13章 信息反馈平台的设计与实现 427

13.1 项目设计与配置 427

13.2 程序功能开发 434

13.3 测试与运行 440

13.4 本章小结 445

第14章 个人博客系统的设计与实现 447

14.1 项目设计与配置 447

14.2 注册与登录 460

14.3 博主资料信息 464

14.4 图片墙功能 466

14.5 留言板功能 468

14.6 文章列表 472

14.7 文章正文内容 475

14.8 Admin后台系统 479

14.9 测试与部署 488

14.10 本章小结 493

第15章 音乐网站平台的设计与实现 495

15.1 项目设计与配置 495

15.2 网站首页 507

15.3 歌曲排行榜 513

15.4 歌曲搜索 517

15.5 歌曲播放与下载 521

15.6 歌曲点评 528

15.7 注册与登录 533

15.8 用户中心 537

15.9 Admin后台系统 541

15.10 自定义异常页面 544

15.11 部署与运行 545

15.12 本章小结 548

第16章 基于前后端分离与微服务架构的网站开发 550

16.1 Vue框架 550

16.2 Django开发API接口 555

16.3 微服务架构 562

16.4 JWT认证 573

16.5 微服务注册与发现 582

16.6 本章小结 597

第17章 Django项目上线部署 599

17.1 基于Windows部署Django 599

17.2 基于Linux部署Django 605

17.3 本章小结 616

附录A Django面试题 618

附录B Django资源列表 622

前言/序言

前 言

Python是当前热门的开发语言之一,它有着广泛的应用领域,在网络爬虫、Web开发、数据分析和人工智能等领域都受到开发者的热爱和追捧。现在很多企业开始使用Python作为网站服务器的开发语言,因此掌握Web开发是Python开发者必不可少的技能之一。

Django是Python开发网站的首选Web框架,这归功于Django较强的规范性,规范了开发人员的编码要求,以符合企业的规范化管理。正因如此,Django成为开发人员必学的Web框架之一。

本书讲述的内容基于Django 3.1或以上版本,知识跨度从网站开发入门到网站架构设计,通过本书的学习,读者不仅可以精通Django框架的应用,还能一步一步走向架构师之路。

本书结构

本书共分17章,各章内容概述如下:

第1章介绍网站的基础知识和Django的环境搭建,分别讲述了网站的定义、分类、运行原理、Django的安装、搭建开发环境、项目创建与调试和前端开发基础知识。

第2章介绍Django的项目配置,包括基本配置、静态资源文件、模板路径、数据库配置和中间件。

第3章讲述路由的编写规则,包括路由变量的设置、设置正则表达式、命名空间与路由命名、路由的反向解析和重定向。

第4章介绍视图函数的定义方法,在视图函数中讲述用户的响应方式、文件下载、HTTP请求信息、文件上传、Cookie反爬虫功能和请求头反爬虫功能。

第5章讲述视图类的定义与使用,视图类根据用途划分为三部分:数据显示视图、数据操作视图和日期筛选视图。

第6章讲解模板的编写方法,分别讲述Django模板引擎和Jinja2模板引擎的使用,包括模板的变量、标签、模板继承、标签和过滤器的定义与使用。

第7章讲述模型的定义与使用,比如模型的定义与数据迁移、数据表的数据关系和数据的读写操作,通过操作模型对象实现数据表的读写,并讲述数据表的动态创建和MySQL分表功能。

第8章介绍表单的定义与使用,主要讲述表单与模型的结合生成数据表单,并通过数据表单操作实现数据表的数据读写,如同一网页多个表单、一个表单多个按钮、表单批量处理和多文件批量上存等常见的Web应用。

第9章介绍Django内置的Admin后台系统,讲述Admin的基本设置以及一些常用功能的二次开发。

第10章介绍Django内置的Auth认证系统,讲述内置模型User的使用和扩展,实现用户注册和登录功能、用户权限的设置和用户组的设置。

第11章介绍Django常用的内置功能,包括会话Session、缓存机制、CSRF防护、消息框架、分页功能、国际化和本地化、单元测试、自定义中间件、异步编程(多线程的应用、ASGI服务、异步视图以及异步与同步的转换)、信号机制。

第12章介绍Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、异步任务和定时任务、即时通信实现在线聊天。

第13章讲述信息反馈平台的开发,信息反馈平台的功能包括信息反馈页面、Admin后台系统、自定义异常机制和单元测试。

第14章讲述博客系统的开发,网站功能包括用户(博主)注册和登录、博主资料信息、图片墙功能、留言板功能、文章列表、文章正文内容和Admin后台系统。

第15章讲述音乐网站平台的开发,网站主要功能有首页、排行榜、歌曲播放、歌曲点评、歌曲搜索、用户注册和登录、用户中心、Admin后台管理和网站异常机制。

第16章分别讲述前后端分离的开发模式和微服务架构设计原理。Django只需编写API接口,网站的业务逻辑、数据渲染以及动态信息由前端完成;微服务是一种网站架构概念,包含了开发、测试、部署和运维等多方面因素,并讲述了微服务的JWT认证、服务发现与注册等功能。

第17章分别讲述Django如何部署在Windows和Linux系统。Windows系统采用IIS服务器+wfastcgi+Django实现部署过程;Linux系统采用Nginx+uWSGI+Django实现部署过程。

本书特色

循序渐进,知识全面:本书站在初学者的角度,围绕新版本Django 3框架展开讲解,从初学者必备的基础知识着手,循序渐进地介绍了Django 3的各种知识,包括基本概念、功能特性、工具使用、扩展知识等,内容几乎涵盖了Django 3的所有功能,是一本内容全面的实战技术指南。

注重实战,项目丰富:为提升读者的开发技能,本书精选了编者近年来参与开发的3个项目,这些项目各有不同功能,并全部给出了功能架构描述和代码实现,可以使读者真实地学到如何用Django开发一个项目,解决开发中可能遇到的各种问题,是提升读者实际开发能力的最佳实践。

技术先进,与时俱进:近年来全栈与微服务开发获得广泛应用,毫无疑问,Django框架同样可以实现微服务架构,因此本书专门有一章内容讲解了前后端分离开发模式以及微服务开发的相关知识,此外,Django 3新引入的异步编程也在本书中进行了详细讲解,读者从本书可以深切地感到编者在这方面的用心。

可以这样说,本书集新版本特性、开发心得与前沿技术为一体,任何使用Django开发Web项目的读者都可以从本书中获益。

源代码下载

本书所有程序代码均在Python 3.8和Django 3.1下调试通过,源码GitHub下载地址:

https://github.com/xyjw/Django-Web


或者扫描下面的二维码下载:

如果你在下载过程中遇到问题,可发送邮件至booksaga@126.com获得帮助,邮件标题为“Django3 Web应用开发实战”。

读者对象

本书主要适合以下读者阅读:

? Django初学者及在校学生

? Django开发工程师

? 从事Python网站开发的技术人员

? 其他对Django感兴趣的人员

虽然笔者力求本书更臻完美,但由于水平所限,难免会出现错误,特别是Django版本更新可能导致源代码在运行过程中出现问题,欢迎广大读者和专家给予指正,笔者将十分感谢。



黄永祥

2021年5月1日