猜你喜欢
Django 5 Web应用开发实战

Django 5 Web应用开发实战

书籍作者:黄永祥 ISBN:9787302661832
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9467
创建日期:2024-06-27 发布日期:2024-06-27
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南。《Django 5 Web应用开发实战》内容以Python 3.x和Django 5版本为基础,从Django 5构建项目开始,逐步深入讲述Django框架的各项功能要点,每个功能要点从源码角度分析,并在源码的基础上实现自定义的功能开发。还介绍了Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、异步任务和定时任务、即时通信实现在线聊天,同时介绍了当前流行的前后端分离模式和微服务架构网站的开发,《Django 5 Web应用开发实战》还提供了两个完整的Web实战案例:博客系统和音乐网站平台,从中读者可以学习了解网站开发的全流程,最后介绍了Django项目的上线部署。

《Django 5 Web应用开发实战》注重案例教学,讲解深入浅出,非常易于上手,适合有一定Python基础的开发人员和在校学生学习,也可以用作培训机构和大中专院校Web项目开发的教学实践用书。


作者简介

黄永祥

架构师,资深软件开发工程师,拥有10年以上一线大型Web项目开发经验,尤其擅长Go和Python语言,对相关技术架构、工具和框架,如Gin、Flask、Django等架轻就熟。已出版《实战Python网络爬虫》《精通Python自动化编程》《Django+Vue.js商城项目实战》等书籍。


《Django 5 Web应用开发实战》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

Python是当前热门的开发语言之一,它有着广泛的应用领域。无论是网络爬虫、Web开发、数据分析还是人工智能等领域,Python都备受开发者的青睐。目前,很多企业都选择Python作为网站服务器的开发语言。因此,掌握Web开发是Python开发者必不可少的技能之一。

Django是Python在Web开发领域的首选框架,其优势在于强调开发的规范性,这不仅有助于规范开发者的编码习惯,而且与企业对规范化管理的需求相契合。因此,Django已成为开发人员必学的Web框架之一。

本书讲述的内容基于Django 5及更高版本,涉及从Django入门到网站架构设计的广泛主题。通过对本书内容的学习,读者能够深入了解Web开发技术,并在通往架构师之路上稳步前行。

本书结构

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

第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常用的Web应用程序,包括会话控制、缓存机制、CSRF防护、消息框架、分页功能、国际化和本地化、单元测试、自定义中间件、异步编程(多线程的应用、ASGI服务、异步视图以及异步与同步的转换)以及信号机制。

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

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

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

第15章讲述基于前后端分离与微服务架构的网站开发,包括Vue开发用户界面、Django开发API接口、微服务架构、JWT认证以及微服务注册与发现。

第16章分别讲述Django如何部署在Windows和Linux上。在Windows上采用IIS+wfastcgi+Django部署方案;在Linux上是基于Docker部署Nginx+uWSGI+Django来搭建网站。

本书特色

本书具有以下特色:

图文并茂,深入浅出:全书图文并茂地介绍了Django在Web开发中的 应用,从零基础到项目实战,对Django 5的各项功能进行了深入浅出 的讲解,同时,很多图示还进行了指示性标注,非常易于初次上手 Django的读者理解。

步骤教学,案例丰富:使用一步一步的教学方式,无论是功能讲解, 还是项目示例,尽可能一步一步地详细阐述操作流程,并辅之以丰富 的代码示例。

项目实战,拒绝纸上谈兵:书中除了提供了大量小示例,还提供完整 的Web网站项目,从项目需求分析到完整开发流程全方位讲解,特别 是Web项目包含的功能足够完整,已非常接近于实际项目,对于提升 读者的开发技能大有裨益。

注重介绍主流技术和企业级开发技能:书中介绍了当前Web开发广泛 使用的微服务技术和前后端分离架构技术,可帮助读者掌握主流开发 技术,成长为真正的企业级开发高手。

资深作者带你飞:笔者作为开发人从业超过十年,长期从事Web开发,拥有丰富的大型项目的实战经验,你从本书不仅能够掌握实战技能 ,还能感受到笔者的经验之谈。


读者对象

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

?Django初学者及在校学生

?Django初级开发工程师

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

?其他学习Django的开发人员

虽然笔者力求本书更臻完美,但由于水平有限,书中难免存在疏漏之处,尤其是随着Django版本的更新,书中提供的源代码可能会在运行过程中出现问题。因此,竭诚欢迎广大读者和专家批评指正,笔者将不胜感激。








黄永祥

2024年1月1日


目录

第 1 章 走进Django 5 1

1.1 Django 5的新特性 1

1.2 安装Django 5 4

1.3 创建项目 4

1.4 PyCharm创建项目 6

1.5 初试Django 5 7

1.5.1 Django的操作指令 8

1.5.2 开启Hello World之旅 9

1.6 调试Django项目 11

1.6.1 PyCharm断点调试 11

1.6.2 调试异常 13

1.7 本章小结 15

第 2 章 配置Django项目 16

2.1 基本配置信息 16

2.2 资源文件配置 18

2.2.1 资源路由——STATIC_URL 18

2.2.2 资源集合——STATICFILES_DIRS 19

2.2.3 资源部署——STATIC_ROOT 20

2.2.4 媒体资源——MEDIA 20

2.3 模板配置 21

2.4 数据库配置 22

2.4.1 mysqlclient连接MySQL 22

2.4.2 pymysql连接MySQL 24

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

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

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

2.5 中间件 29

2.6 本章小结 31

第 3 章 路由的编写规则与使用 32

3.1 路由定义规则 32

3.1.1 Django的路由定义 32

3.1.2 路由变量的设置 34

3.1.3 正则表达式的路由定义 36

3.2 命名空间与路由命名 37

3.2.1 命名空间namespace 37

3.2.2 路由命名name 39

3.3 路由的使用方式 40

3.3.1 在模板中使用路由 40

3.3.2 反向解析reverse与resolve 43

3.3.3 路由重定向 46

3.4 本章小结 47

第 4 章 简单直观的FBV视图 49

4.1 设置响应方式 49

4.1.1 返回响应内容 49

4.1.2 设置重定向 52

4.1.3 异常响应 54

4.1.4 文件下载功能 57

4.2 HTTP请求对象 60

4.2.1 获取请求信息 60

4.2.2 文件上传功能 64

4.2.3 Cookie实现反爬虫 68

4.2.4 请求头实现反爬虫 74

4.3 本章小结 77

第 5 章 更现代的CBV视图 78

5.1 数据显示视图 78

5.1.1 重定向视图RedirectView 78

5.1.2 基础视图TemplateView 80

5.1.3 列表视图ListView 83

5.1.4 详细视图DetailView 87

5.2 数据操作视图 89

5.2.1 表单视图FormView 90

5.2.2 新增视图CreateView 92

5.2.3 修改视图UpdateView 94

5.2.4 删除视图DeleteView 96

5.3 日期筛选视图 98

5.3.1 月份视图MonthArchiveView 100

5.3.2 周期视图WeekArchiveView 105

5.4 本章小结 107

第 6 章 深入理解模板 108

6.1 Django模板引擎 108

6.1.1 模板上下文 108

6.1.2 自定义标签 110

6.1.3 模板继承 113

6.1.4 自定义过滤器 115

6.2 Jinja2模板引擎 119

6.2.1 安装与配置 120

6.2.2 模板语法 123

6.2.3 自定义过滤器 125

6.3 本章小结 126

第 7 章 模型与数据库 127

7.1 模型定义与数据迁移 127

7.1.1 定义模型 127

7.1.2 开发个人的ORM框架 131

7.1.3 数据迁移 134

7.1.4 数据导入与导出 137

7.2 数据表关系 138

7.3 数据表操作 142

7.3.1 数据新增 143

7.3.2 数据修改 145

7.3.3 数据删除 146

7.3.4 数据查询 147

7.3.5 多表查询 150

7.3.6 执行SQL语句 154

7.3.7 数据库事务 156

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

7.4.1 多数据库的连接 158

7.4.2 多数据库的使用 161

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

7.6 MySQL分表功能 165

7.7 本章小结 169

第 8 章 表单与模型 170

8.1 初识表单 170

8.2 源码分析Form 173

8.3 源码分析ModelForm 180

8.4 在视图里使用Form 184

8.5 在视图里使用ModelForm 186

8.6 同一网页多个表单 188

8.7 一个表单多个按钮 191

8.8 表单的批量处理 192

8.9 多文件批量上传 196

8.10 本章小结 202

第 9 章 Admin后台系统 203

9.1 走进Admin 203

9.2 源码分析ModelAdmin 206

9.3 Admin首页设置 211

9.4 Admin的二次开发 212

9.4.1 函数get_readonly_fields() 213

9.4.2 设置字段样式 214

9.4.3 函数get_queryset() 215

9.4.4 函数formfield_for_foreignkey() 216

9.4.5 函数formfield_for_choice_field() 217

9.4.6 函数save_model() 218

9.4.7 数据批量操作 219

9.4.8 自定义Admin模板 220

9.4.9 自定义Admin后台系统 222

9.5 本章小结 227

第 10 章 Auth认证系统 228

10.1 内置User实现用户管理 228

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

10.3 模型User的扩展与使用 241

10.4 权限的设置与使用 248

10.5 自定义用户权限 250

10.6 设置网页的访问权限 251

10.7 用户组的设置与使用 257

10.8 本章小结 260

第 11 章 优化网站性能的Web程序 261

11.1 会话控制 261

11.1.1 会话的配置与操作 261

11.1.2 使用会话实现商品抢购 264

11.2 缓存机制 269

11.2.1 缓存的类型与配置 270

11.2.2 缓存的使用 272

11.3 CSRF防护 275

11.4 消息框架 278

11.4.1 源码分析消息框架 278

11.4.2 消息框架的使用 279

11.5 分页功能 283

11.5.1 源码分析分页功能 283

11.5.2 分页功能的使用 286

11.6 国际化和本地化 289

11.6.1 环境搭建与配置 290

11.6.2 设置国际化 291

11.6.3 设置本地化 292

11.7 单元测试 294

11.7.1 定义测试类 294

11.7.2 运行测试用例 300

11.8 自定义中间件 301

11.8.1 中间件的定义过程 301

11.8.2 中间件实现Cookie反爬虫 305

11.9 异步编程 307

11.9.1 使用多线程 307

11.9.2 启用ASGI服务 310

11.9.3 异步视图 310

11.9.4 异步与同步的转换 313

11.10 信号机制 314

11.10.1 内置信号 314

11.10.2 自定义信号 317

11.10.3 订单的创建与取消 320

11.11 本章小结 323

第 12 章 扩展网站功能的第三方应用 324

12.1 Django Rest Framework框架 324

12.1.1 DRF的安装与配置 324

12.1.2 序列化类Serializer 326

12.1.3 模型序列化类ModelSerializer 330

12.1.4 序列化的嵌套使用 332

12.2 验证码生成与使用 335

12.2.1 Django Simple Captcha的安装与配置 336

12.2.2 使用验证码实现用户登录 338

12.3 站内搜索引擎 342

12.3.1 Django Haystack的安装与配置 342

12.3.2 使用搜索引擎实现产品搜索 345

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

12.4.1 Social-Auth-App-Django的安装与配置 350

12.4.2 微博账号实现用户注册 353

12.5 异步任务和定时任务 355

12.5.1 Celery的安装与配置 355

12.5.2 异步任务 357

12.5.3 定时任务 359

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

12.6.1 Channels的安装与配置 362

12.6.2 Web在线聊天功能 365

12.7 本章小结 368

产品特色