本书结合样例,介绍 Django 的基础知识、主要模块的开发以及权限管理等高级内容,并且通过图书管理系统、博客系统、车费管理系统 3 个项目的开发实战,使读者既能掌握 Django 的重要开发技术,又能对这些知识在项目中的综合应用有深入了解。

本书共有 16 章,分为 3 个篇章,准备篇介绍了 Web 框架以及 Django 的基本知识;入门篇详细讲解了路由系统、模板系统等5 个主要模块的开发过程,并通过图书管理系统和博客系统的开发综合应用这些知识;进阶篇介绍了 AJAX、中间件、权限管理等内容,并完成了车费管理系统的项目开发。

本书讲解详细,内容通俗易懂,案例丰富,适合 Python 进阶读者或 Django 开发入门读者阅读,也可以作为 Web 开发人员或编程爱好者的自学参考。

1.内容实用:凝聚作者多年开发经验,深入浅出剖析技术细节;

2.系统全面:从基础知识、典型模块到项目开发,详解Django开发;

3.案例丰富:面向不同应用场景,逐步实现多个开发案例。

张晓

山东能源集团(世界 500 强)信息管理员,软件开发工程师。曾独立开发物流管理、机房运维管理、机关考勤管理、物业管理、车费管理等多个应用系统;并规划设计与实施了数据中心、私有云项目建设;此外在数据仓库、BI 分析、门户网站建设方面也有丰富的实战经验。

第 一篇 准备篇

第 1章 Python 和Web 开发框架 2

1.1 Python 简介 3

1.2 Web 开发框架基本知识 3

1.2.1 Web 应用本质 3

1.2.2 Web 开发框架核心功能 5

1.2.3 HTTP 简单介绍 8

1.2.4 HTTP 请求消息格式 9

1.2.5 HTTP 响应消息格式 9

1.3 Python Web 开发框架 10

1.4 小结 11

第 2章 初识Django 12

2.1 Django 安装 13

2.1.1 安装Python 13

2.1.2 安装Python 虚拟环境 14

2.1.3 安装Django 14

2.1.4 测试安装效果 15

2.2 Django 基本知识 15

2.2.1 Django 的开发优势 15

2.2.2 Django 的MTV 设计模式简介 16

2.2.3 Django 的其他功能 18

2.2.4 Django 的主要文件 18

2.3 Django 基本开发流程 19

2.3.1 部署开发环境 19

2.3.2 创建项目 19

2.3.3 创建应用程序 20

2.3.4 编写业务逻辑代码 20

2.3.5 建立URL 与视图函数的对应关系 20

2.3.6 动态加载HTML 页面 21

2.3.7 配置静态文件存放位置 23

2.3.8 连接数据库 27

2.3.9 Django 后台管理 29

2.4 小结 30

第二篇 入门篇

第3 章 Django ORM 32

3.1 Django ORM 的特点 33

3.1.1 Django ORM 的优点 33

3.1.2 Django ORM 的缺点 33

3.1.3 Django ORM 的模式特征 33

3.2 Django ORM 的用法 34

3.2.1 数据库连接 34

3.2.2 创建数据模型 34

3.2.3 Django ORM 字段 35

3.2.4 Django ORM 基本数据操作 37

3.2.5 Django ORM 数据操作常用函数 38

3.3 样例1:数据库表操作 40

3.3.1 准备工作 40

3.3.2 建立路由与视图函数对应关系 42

3.3.3 编写视图函数 44

3.3.4 employee 数据模型的操作 57

3.4 Django ORM 跨表操作 65

3.4.1 与外键有关的跨表操作 65

3.4.2 与多对多键有关的跨表操作 69

3.4.3 与一对一键有关的跨表操作 71

3.5 Django ORM 聚合与分组查询 73

3.5.1 聚合查询 73

3.5.2 分组查询 74

3.6 Django ORM 中的F 和Q

函数 75

3.6.1 F 函数 75

3.6.2 Q 函数 76

3.7 小结 76

第4 章 Django 路由系统 77

4.1 路由系统基本配置 78

4.1.1 路由系统URL 基本格式 78

4.1.2 path()的URL 参数 79

4.1.3 re_path()函数 79

4.1.4 路由分发 80

4.1.5 路由命名 81

4.1.6 路由命名空间 82

4.2 样例2:路由系统开发 83

4.2.1 路由系统应用的简单流程 83

4.2.2 带参数的路由应用 86

4.2.3 带参数的命名URL 配置 87

4.3 小结 89

第5 章 Django 视图 90

5.1 样例3:视图函数简单介绍 91

5.1.1 视图样例 91

5.1.2 HttpRequest 对象和HttpResponse

对象 93

5.1.3 视图函数响应“三剑客” 96

5.2 基于类的通用视图 99

5.2.1 TemplateView 类通用视图 100

5.2.2 ListView 类通用视图 101

5.2.3 DetailView 类通用视图 104

5.3 样例4:Django 视图应用开发 107

5.3.1 准备工作 107

5.3.2 URL 配置 109

5.3.3 用户登录 110

5.3.4 列表页面 114

5.3.5 人员增加页面 116

5.3.6 人员修改页面 120

5.3.7 人员删除 122

5.4 小结 123

第6 章 Django 模板系统 124

6.1 Django 模板基本语法 125

6.1.1 模板文件 125

6.1.2 模板变量 126

6.1.3 模板注释 129

6.1.4 过滤器 129

6.1.5 模板标签 131

6.2 母版和继承 137

6.2.1 母版 137

6.2.2 继承 138

6.3 组件 139

6.4 样例5:模板开发 139

6.4.1 准备工作 140

6.4.2 Bootstrap 用法简介 140

6.4.3 Font Awesome 用法简介 142

6.4.4 生成母版base.html 143

6.4.5 编写index.html 页面 145

6.4.6 员工相关页面美化 147

6.4.7 其他页面美化 156

6.5 小结 158

第7 章 Django Form 组件 159

7.1 前期环境准备 160

7.1.1 Django Form 表单的主要功能 160

7.1.2 Django Form 简单开发流程介绍 160

7.1.3 编写Django Form 对象类 160

7.1.4 建立URL 与视图函数对应关系 161

7.1.5 视图函数 161

7.1.6 页面代码 162

7.1.7 运行测试 163

7.2 Django Form 字段 163

7.2.1 Django Form 字段属性 164

7.2.2 Django Form 常用字段 166

7.3 样例6:Django Form 组件

开发 167

7.3.1 开发准备 167

7.3.2 登录页面 171

7.3.3 列表页面 176

7.3.4 账号增加 180

7.3.5 账号修改 187

7.4 Django ModelForm 组件 193

7.4.1 Django ModelForm 定义 193

7.4.2 Django ModelForm 主要方法 194

7.5 样例7:Django ModelForm

开发 195

7.5.1 ModelForm 表单类 195

7.5.2 列表页面 197

7.5.3 账号增加 198

7.5.4 账号修改 199

7.5.5 账号删除 200

7.6 小结 200

第8 章 图书管理系统开发 201

8.1 系统数据库建立 202

8.1.1 建立应用程序 202

8.1.2 建立数据库表 202

8.1.3 建立系统超级用户 205

8.1.4 数据模型注册 205

8.1.5 运行程序 206

8.1.6 附加说明 206

8.2 图书管理系统完善 207

8.2.1 部分配置 207

8.2.2 页面功能完善 208

8.2.3 批处理功能 214

8.2.4 权限管理 215

8.3 小结 216

第9 章 博客系统开发 217

9.1 创建博客系统 218

9.1.1 开发环境初步配置 218

9.1.2 安装django-ckeditor 218

9.1.3 安装pillow 218

9.1.4 创建项目 218

9.1.5 注册博客应用程序 220

9.1.6 数据库选择 220

9.2 博客系统应用程序开发 220

9.2.1 项目数据库表结构设计 220

9.2.2 CKEditor 富文本编辑器相关知识

介绍 226

9.2.3 生成数据库表 233

9.2.4 建立超级用户 233

9.2.5 在管理后台注册数据模型 233

9.3 用户注册 234

9.3.1 URL 配置 234

9.3.2 用户注册Form 表单 235

9.3.3 用户注册视图函数 239

9.3.4 用户注册页面 241

9.4 用户登录 247

9.4.1 URL 配置 247

9.4.2 用户登录视图函数 247

9.4.3 用户登录页面 248

9.5 博客系统的母版 249

9.5.1 母版HTML 文件 250

9.5.2 项目的自定义标签 257

9.5.3 母版中的4 个栏目的链接功能 258

9.5.4 母版其他功能 262

9.6 博客系统首页 264

9.6.1 博客首页通用视图函数 264

9.6.2 博客首页模板文件 268

9.6.3 头像链接功能 271

9.7 博客系统检索功能 272

9.7.1 安装Django Haystack 273

9.7.2 更改Django Haystack 分词器 273

9.7.3 配置Django Haystack 273

9.7.4 建立索引类 274

9.7.5 URL 配置 275

9.7.6 创建search.html 276

9.7.7 创建索引文件 278

9.8 文章发布 279

9.9 文章评论 279

9.9.1 创建评论应用程序 279

9.9.2 评论系统的数据模型 280

9.9.3 文章评论表单 280

9.9.4 文章评论URL 配置 281

9.9.5 文章评论视图函数 281

9.9.6 文章评论模板 283

9.9.7 文章评论部分页面 284

9.10 文章详细页面 285

9.10.1 文章详细页面URL 配置 285

9.10.2 文章详细页面视图 285

9.10.3 文章详细页面模板文件 286

9.10.4 文章详细页面显示 289

9.11 小结 289

第三篇 进阶篇

第 10 章 分页组件的设计 292

10.1 样例8:普通分页编写 293

10.1.1 URL 配置 293

10.1.2 数据模型 293

10.1.3 视图函数 294

10.2 分页组件 298

10.2.1 分页组件 299

10.2.2 调用分页组件 302

10.3 小结 303

第 11 章 Django 调用AJAX

编程 304

11.1 AJAX 基本知识 305

11.1.1 JSON 基本知识 305

11.1.2 AJAX 简单使用 307

11.2 样例9:AJAX 应用开发 311

11.2.1 URL 配置 311

11.2.2 数据模型 311

11.2.3 员工列表及记录删除 311

11.2.4 员工信息增加 315

11.3 小结 321

第 12 章 Django 中间件开发 322

12.1 Django 中间件基本知识 323

12.1.1 中间件配置 323

12.1.2 中间件的方法 323

12.1.3 中间件执行流程 325

12.2 样例10:Django 中间件

编程 327

12.2.1 URL 配置 327

12.2.2 视图函数 328

12.2.3 注册自定义中间件 329

12.2.4 测试中间件 330

12.3 小结 331

第 13 章 基于Django 认证系统

的权限管理开发 332

13.1 Django 认证系统简介 333

13.1.1 认证系统基本知识 333

13.1.2 默认权限设置 333

13.1.3 创建自定义权限的方法 334

13.2 基于Django 认证系统的权限

管理开发 335

13.2.1 创建能增加权限的数据模型 335

13.2.2 注册数据模型 336

13.3 建立测试系统 336

13.3.1 测试系统视图函数 337

13.3.2 测试系统母版 338

13.3.3 用户列表页面 339

13.3.4 测试系统URL 配置 340

13.4 权限梳理与分配 341

13.4.1 权限记录整理 341

13.4.2 权限记录输入 342

13.4.3 权限分配 342

13.4.4 测试系统 342

13.5 小结 343

第 14 章 Django 通用权限管理

设计 344

14.1 基于RBAC 的通用权限管理

实现 345

14.1.1 RBAC 权限管理模块文件目录

结构 345

14.1.2 数据库表结构设计 347

14.1.3 Role 表的构建 347

14.1.4 UserInfo 表的构建 348

14.1.5 Permission 表的构建 348

14.1.6 PermGroup 表的构建 350

14.1.7 Menu 表的构建 350

14.1.8 生成数据库表 351

14.1.9 补充说明 351

14.1.10 用户权限数据初始化配置 352

14.1.11 利用中间件验证用户权限 356

14.1.12 生成系统菜单所需数据 359

14.2 样例11:RBAC 权限管理在

项目中的应用 364

14.2.1 引入RBAC 权限管理的基本

流程 364

14.2.2 RBAC 权限管理模块部署到

新项目 364

14.2.3 复制及新建相关文件 364

14.2.4 配置参数 365

14.2.5 测试项目的结构 367

14.2.6 权限分配管理 375

14.3 小结 379

第 15 章 基于权限管理的车费

管理系统开发 380

15.1 开发准备 381

15.1.1 生成项目和应用 381

15.1.2 导入RBAC 模块 382

15.2 建立数据模型 383

15.2.1 数据模型设计 383

15.2.2 生成数据库表 385

15.3 用户登录和注销 385

15.3.1 用户登录 385

15.3.2 用户注销 387

15.4 建立母版文件 388

15.4.1 母版文件 388

15.4.2 页面头部 390

15.4.3 首页 390

15.5 车辆信息维护 391

15.5.1 URL 配置 391

15.5.2 车辆信息查看 392

15.5.3 车辆信息增加 393

15.5.4 车辆信息修改 395

15.5.5 车辆信息删除 397

15.6 部门信息维护 397

15.6.1 URL 配置 397

15.6.2 部门信息列表 398

15.6.3 部门信息增加 399

15.6.4 部门信息修改 400

15.6.5 部门信息删除 402

15.7 用户分配 402

15.7.1 URL 配置 402

15.7.2 用户列表 402

15.7.3 用户分配到部门 404

15.8 车费上报 407

15.8.1 URL 配置 407

15.8.2 车费信息列表 407

15.8.3 车费信息增加 412

15.8.4 车费信息修改 420

15.9 车费审批 427

15.9.1 URL 配置 427

15.9.2 引入分页组件 427

15.9.3 车费审批功能 427

15.9.4 取消审批功能 437

15.10 车费统计 439

15.10.1 URL 配置 439

15.10.2 车费统计视图 439

15.11 增加权限管理 445

15.11.1 权限梳理 445

15.11.2 权限数据输入及权限分配 447

15.11.3 权限管理源代码调整 447

15.11.4 添加URL 白名单 448

15.11.5 视图函数代码调整 449

15.11.6 视图函数login()代码调整 449

15.11.7 base.html 代码调整 449

15.11.8 页面代码调整 451

15.11.9 权限测试 452

15.12 小结 452

第 16 章 应用项目部署 453

16.1 准备工作 454

16.1.1 基本知识 454

16.1.2 安装环境简介 455

16.1.3 准备工作 455

16.2 安装MySQL 数据库 456

16.2.1 安装MySQL 数据库 456

16.2.2 配置MySQL 数据库 457

16.2.3 生成项目数据库 458

16.3 Python 环境部署 458

16.3.1 关于Python 458

16.3.2 升级pip 459

16.4 安装uWSGI 服务器 459

16.4.1 安装uWSGI 459

16.4.2 测试uWSGI 460

16.5 安装Nginx 服务器 461

16.5.1 安装Nginx 461

16.5.2 测试Nginx 461

16.6 项目部署前的工作 461

16.6.1 修改项目配置 461

16.6.2 服务器上的目录设置 462

16.6.3 项目代码上传 462

16.6.4 安装虚拟环境 463

16.6.5 在服务器上配置项目 463

16.7 配置Nginx 和uWSGI 464

16.7.1 配置Nginx 464

16.7.2 配置uWSGI 465

16.8 测试 466

16.9 小结 466

python django web典型模块开发实战下载_Django实战 Python Web典型模块与项目开发相关推荐

  1. 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java

    SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...

  2. python网络爬虫技术 江吉彬下载 pdf_精通Python网络爬虫:核心技术、框架与项目实战 附源码 中文pdf完整版[108MB]...

    精通Python网络爬虫这是一本实战性的网络爬虫秘笈,不仅讲解了如何编写爬虫,而且还讲解了流行的网络爬虫的使用. 全书分为4个部分:第壹部分对网络爬虫做了概要性的介绍,主要介绍了网络爬虫的常识和所涉及 ...

  3. Python django 宠物领养商城-源码下载

    Python django 宠物领养商城 Python  django宠物领养 Python django 衣服商城 Python django 裤子商城 Python django 电子商城 技术: ...

  4. c语言项目开发全程实录视频,C语言项目开发全程实录(第2版)(软件项目开发全程实录)简介,目录书摘...

    目录: 第1章  火车订票系统(DEV C 实现) 视频讲解:36分钟 1.1  开发背景 1.2  需求分析 1.3  系统设计 1.3.1  系统目标 1.3.2  系统功能结构 1.3.3  系 ...

  5. 扇贝python编程课_扇贝编程APP下载|扇贝编程python V1.1.35 安卓版下载 - 下载银行...

    扇贝编程APP是一款可以让你从零入门到精通编程的学习软件.这款软件上,为用户们提供了海量的学习课程.它给用户们制定了多种不同的学习方案,你可以根据自己的基础情况来选择最适合自己的学习方案.如果你遇到不 ...

  6. python打包成可执行文件给 别人用下载_调试Python程序打包成可执行文件

    用Python编好了程序,如果给别人运行,别人的电脑不一安装了Python,而且这些源程序也不利于代码的保持.因此很有需要把Python程序打包成EXE可执行文件. 查阅了相关文章,开始了我的调试之路 ...

  7. python在abaqus中的应用代码下载_Python-(source-code)-in--Abaqus Python语言在Abaqus中的应用(源码) - 下载 - 搜珍网...

    Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码)/Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码 ...

  8. python django项目实例_最新Django项目实战-从零开发NB的任务平台python视频学习教程...

    saas导学视频 .mp4 │ 模态框.zip │ ├─day01 │ │ 01 day01 sass项目介绍 .mp4 │ │ 02 day01 sass项目演示 .mp4 │ │ 04 day01 ...

  9. 第三方模块——nodemon是一个命令行工具,用以辅助项目开发、nrm ( npm registry manager ):npm下载地址切换工具

    什么是第三方模块 别人写好的.具有特定功能的.我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包. 第三方模块 nodemon nodemon是 ...

最新文章

  1. C# 4.0 新增特性
  2. JS中fori和forEach跳出循环的问题
  3. CTF个人总结指南(更新中)
  4. 关于img 403 forbidden的一些思考
  5. 线程同步--关键代码段(三)
  6. Oracle分页查询语句(一)
  7. CentOS6.4 Install Nginx 1.4.4 到特定目录
  8. Kruskal算法的C++语言程序
  9. 数据结构c字符串操作语言版本
  10. 微计算机原理与接口电子科技大学,西安电子科技大学考研复试微机原理与接口技术...
  11. 直线扫描转换-DDA算法
  12. 计算机四级网络考试容易蒙吗,计算机四级网络工程师通过率有多少
  13. HTTP代理服务器的工作原理
  14. mindmanager2018官方下载地址
  15. python编程大赛规则_如何评价「杨超越杯编程大赛」?
  16. Pytorch 深度强化学习模型训练速度慢
  17. 西瓜创客联创刘鹏:在AI的曙光中拥抱教育的未来
  18. selenium处理富文本框
  19. Django Web框架教学笔记-1
  20. xCAT安装配置文档

热门文章

  1. 5分钟!用Java实现目标检测 | PyTorch
  2. 给大家介绍一位中科院师兄,读研时通过实习和比赛收入五十万
  3. 自动化所研究员:有的研究生在导师手底下过的不如狗,读研到底为了什么?...
  4. Transformer, BERT, ALBERT, XLNet全面解析(ALBERT第一作者亲自讲解)
  5. 操作系统学习:Linux0.12初始化详细流程-进程1调度与读取硬盘数据
  6. 85.4% mIOU!NVIDIA:使用多尺度注意力进行语义分割,代码已开源!
  7. 第十八篇:Question Answering问答系统
  8. 任正非公开信深度解读:两年怎样改变了华为?
  9. linux firefox 29 flash player install
  10. sql server 经典SQL——分组统计