随着Python开发者的增多,Django作为一款高性能的Python Web开发框架,受关注的程度也日渐提升,越来越多的企业选择使用Django进行网站开发。
本书详细剖析了Django 3.0的各个知识点,帮助读者全面认识Django 3.0的技术细节以应用于实践,书中所有示例均基于Python 3.8实现。
【全书共15章,主要针对以下内容进行讲解】
Django 3.0的新特性,以及它与其他框架的区别。
Django环境搭建方法以及默认情况下的工程内容。
Django中各类管理命令及其用法。
Django路由相关概念和路由调用的各种使用方式。
Django的请求响应机制、常用的CBV、模型的各种字段及其使用形式。
Django嵌入结构化查询语言,实现对数据库的操作。
模板定义、模板变量、系统模板标签、系统模板过滤器相关内容及其使用方法。
常用中间件Admin模块的使用方法与技巧。
后用两章内容详细讲解了如何运用Django技术搭建一个基本的CMS站点,并介绍了相关的部署准备以及发布流程。
【为什么要写这本书】
Python作为当前热门的开发语言,其重要的应用之一就是进行Web应用开发。Django是一款高性能的Python Web开发框架,随着Python相关的开发者日益增多,越来越多的企业开始使用Django进行网站开发。
作为一名Django框架的应用者,我一路磕磕碰碰。随着应用的深入,对Django的理解逐渐加深,为此我也萌生了通过一定渠道来分享自己想法的念头。
自2019年12月Django 30问世以来,我发现市面上以Django 30为基础的计算机应用书籍很少。众人拾柴火焰高,我想自己可以尝试写本书来介绍Django 30的应用,让各类学习者与应用者有更多的选择。
从有想法到实现是个漫长的过程。作为一个纯粹的理科男,驾驭文字是件痛苦的事,不过幸好终我坚持了下来。
在书的内容布局方面,我做了一定的功课,借鉴了一些图书的做法,同时也融入了自己的一些想法。为了避免有些读者在阅读时产生困惑,本书采用先指令、后框架的形式设计了各章,而在框架的表述中则采取了先页面、后数据库、再附加模块的形式展开阐述,希望读者通过阅读本书能够循序渐进地掌握这门框架技术的应用。
【读者对象】
这里根据软件应用程度划分出一些能使用Django 30的用户团体:
各类Django初学者。
使用Django进行网站开发的各类Web开发工程师。
采用Django框架进行网络设计的系统架构师。
【如何阅读本书】
本书细致阐述了如何很好地运用Django 30进行相关Web页面的开发,在各个章节中分门别类地介绍了相关属性、方法,并在相应的应用示例中进一步演示了属性、方法的使用情况。
如果想快速阅读,可先总体看看本书目录结构,从目录的各个章节了解大体内容,快速定位到自己感兴趣的章节,获取相关信息。
对于初学者,建议按照目录结构认真阅读每一章。对于涉及示例的章节,好自己搭建环境,输入相关的代码,确保深入理解各个Django知识点的应用。
对于Web开发工程师,可以就某些模块重点查看相关示例,便于快速解决实际开发过程中遇到的实际问题。
对于系统架构师,可以根据自身对Django框架的理解,翻看相关条目的属性、方法介绍,回忆相关技术的应用,进行相关技术的选型。
●第1章 Django简介 1
11 什么是Django 1
12 Django与其他Web框架的对比 2
13 Django 30的新特性 2
14 小结 7
●第2章 搭建Django工程 8
21 Django的使用准备 8
211 基础知识 8
212 环境准备 9
22 Django的初步使用 11
221 工程创建 11
222 工程调试设置 12
23 小结 14
●第3章 Django框架命令 15
31 框架命令的三种调用形式 15
32 框架命令的两种运行方式 16
321 CMD方式 16
322 代码加载方式 16
33 常用命令介绍 16
331 数据库操作命令 17
332 环境配置命令 22
333 开发调试命令 24
34 小结 28
●第4章 路由应用详解 29
41 路由的概念 29
42 Django路由请求处理过程 29
43 Django路由的关联概念 30
431 路由别名 30
432 路径转换器 30
44 路由异常处理的4种形式 31
45 创建路由urlpattern对象的方法 31
451 path()方法 32
452 re_path()方法 32
453 include()方法 32
454 register_converter()方法 33
455 static()方法 33
456 url()方法 33
46 路由使用示例讲解 34
461 不同方式的路由设置 34
462 以包含方式调用路由 37
463 路由别名的使用 40
47 小结 44
●第5章 视图应用详解:请求与响应 45
51 请求响应过程 45
52 请求响应对象 46
521 HttpRequest对象的属性 46
522 HttpRequest对象的方法 49
523 QueryDict对象的方法 50
524 HttpResponse对象的属性 52
525 HttpResponse对象的方法 53
526 HttpResponse对象的子类 55
53 请求响应示例 56
54 小结 60
●第6章 视图应用详解:CBV 61
61 基本概念 61
611 CBV 61
612 Mixin 61
613 MRO 62
62 常用的CBV 62
621 基础类 62
622 通用日期类 64
623 编辑类 73
624 显示类 77
63 CBV运用示例 78
631 基础类使用示例 78
632 通用日期类使用示例 85
633 显示类使用示例 89
634 编辑类使用示例 94
64 小结 100
●第7章 模型应用详解 101
71 模型字段 101
72 模型基本字段 103
73 模型的元数据 110
74 模型关联字段 112
75 模型使用示例 112
751 常用模型字段的使用 112
752 模型属性的应用 117
753 模型元数据的应用 122
754 关联字段的应用 126
76 小结 130
●第8章 数据库相关配置 131
81 数据库配置参数介绍 131
811 数据库配置参数DATABASES 131
812 数据库指标表空间参数DEFAULT_INDEX_TABLESPACE 133
813 数据库空间参数DEFAULT_TABLESPACE 133
814 数据库路由参数DATABASE_ROUTERS 133
82 数据库配置参数的使用 134
821 存在多个数据库时的配置调用 135
822 多数据库访问控制 136
823 特定数据库参数的使用 140
824 使用选择的配置项 143
83 小结 148
●第9章 数据库操作 149
91 数据库对象操作 150
92 数据库数据操作 155
921 增加数据的方法 155
922 删除数据的方法 161
923 修改数据的方法 162
924 查询数据的方法 163
93 小结 169
●第10章 模板的使用 170
101 模板相关概念 170
1011 模板引擎 170
1012 模板变量 171
1013 模板标签 171
1014 模板过滤器 171
102 模板的使用过程 171
1021 配置模板 171
1022 创建模板 172
1023 加载模板 172
1024 渲染模板 172
103 模板关联应用 173
1031 模板搜索规则 173
1032 模板的变量使用 173
104 示例演示 174
1041 模板的使用 174
1042 模板搜索示例 177
1043 变量使用示例 183
105 小结 185
●第11章 模板标签 186
111 系统模板标签 186
112 模板标签示例 192
113 小结 197
●第12章 模板过滤器 198
121 系统模板过滤器 198
122 模板使用示例 204
123 小结 213
●第13章 管理应用 214
131 Admin应用核心对象 215
1311 ModelAdmin属性 215
1312 ModelAdmin方法 220
132 Admin应用关联对象 226
1321 管理站点对象AdminSite 226
1322 内嵌模型管理对象InlineModelAdmin 228
133 Admin应用自定义设置 229
1331 自定义站点属性 229
1332 自定义应用站点 229
1333 自定义模型操作 230
1334 自定义应用模板类 230
134 应用及示例 231
1341 模型管理的基本运用 231
1342 Admin应用自定义模型的操作演示 238
1343 站点调整 240
135?小结 245
●第14章 CMS平台架设 246
141 简版的CMS分析及设计 246
1411 业务场景分析 246
1412 角色设计 247
1413 持久化对象设计 247
142 实施CMS架设 249
1421?准备基本工具 249
1422 CMS框架的搭建 249
1423 后台管理模块的搭建 262
1424 后台业务模块的搭建 278
1425 浏览模块的搭建 290
1426 其他说明 294
1427 运行CMS 297
143 小结 300
●第15章 Django工程部署 301
151 关联概念 301
1511 Web服务器 301
1512 软件部署和网站部署 301
152 Django工程部署方式 302
1521 支持的网络协议形式 302
1522 发布的复杂度 302
153 Django工程部署工作内容 303
154 部署示例 303
155 小结 308