互联网
类型
可以朗读
语音朗读
680千字
字数
2021-11-01
发行日期
展开全部
主编推荐语
学习Django源码,对一个Python程序员的成长至关重要。
内容简介
全书共分为8章,分别是Django源码的前置知识、Django命令原理解析、Django内置的ORM框架、Django内置的模板系统、解读Django核心模块的源码、Django的视图层、Django的中间件原理和解读Django中的辅助代码。
本书展示了剖析Django框架的完整过程,这种剖析方式同样适用于其他框架,如Flask、Ansible和Scrapy等。
本书适合有一定Python基础的开发人员、Django框架的初学者,以及渴望进入开源世界的读者阅读。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 Django源码的前置知识
- 1.1 在学习Django源码前,该做什么
- 1.1.1 Django的版本选择
- 1.1.2 Django源码学习基础
- 1.2 搭建Django的调试环境和测试环境
- 1.2.1 调试django-admin命令
- 1.2.2 调试manage.py命令
- 1.2.3 调试框架源码
- 1.2.4 搭建Django的测试环境
- 1.3 学习Django源码的建议
- 1.4 小结
- 第2章 Django命令原理解析
- 2.1 基础方法介绍
- 2.1.1 find_commands()函数
- 2.1.2 load_command_class()函数
- 2.1.3 get_commands()函数
- 2.1.4 call_command()函数
- 2.2 startproject命令的实现原理
- 2.3 shell命令的实现原理
- 2.4 makemigrations命令的实现原理
- 2.4.1 makemigrations命令的基本操作示例
- 2.4.2 迁移相关的基础类与方法
- 2.4.3 追踪makemigrations命令
- 2.5 migrate命令的实现原理
- 2.6 小结
- 第3章 Django内置的ORM框架
- 3.1 读取Django项目的配置信息
- 3.1.1 Settings类
- 3.1.2 LazySettings类
- 3.2 ORM框架的底层核心
- 3.2.1 mysqlclient模块中的常用方法
- 3.2.2 ORM框架的源码解析
- 3.2.3 DatabaseWrapper类的实战案例
- 3.3 Django中数据库操作背后的原理
- 3.3.1 在Django中执行原生SQL语句
- 3.3.2 ORM框架的基本操作
- 3.3.3 答疑解惑
- 3.3.4 ORM框架的聚合操作
- 3.4 ORM框架的部分源码解读
- 3.5 小结
- 第4章 Django内置的模板系统
- 4.1 Django内置的模板语法
- 4.1.1 for标签
- 4.1.2 if标签
- 4.1.3 csrf_token标签
- 4.1.4 with标签
- 4.1.5 cycle标签
- 4.1.6 include标签
- 4.1.7 过滤器标签
- 4.2 Django内置模板引擎源码解读
- 4.2.1 get_template()方法的源码解析
- 4.2.2_engine_list()方法的源码解析
- 4.2.3 EngineHandler类的源码解析
- 4.2.4 DjangoTemplates类的源码解析
- 4.3 答疑解惑
- 4.4 Jinja2模块封装过程解析
- 4.5 小结
- 第5章 解读Django核心模块的源码
- 5.1 core目录源码一览
- 5.2 请求处理
- 5.3 缓存模块
- 5.4 检查模块
- 5.4.1 messages.py文件的源码解析
- 5.4.2 registry.py文件的源码解析
- 5.5 序列化
- 5.5.1 serialize()方法的源码解析
- 5.5.2 JSON序列化器的底层逻辑
- 5.5.3 简单分析Python序列化器的输出结果
- 5.6 文件模块
- 5.6.1 uploadedfile.py文件
- 5.6.2 images.py文件
- 5.6.3 locks.py文件
- 5.6.4 temp.py文件
- 5.6.5 move.py文件
- 5.6.6 storage.py文件
- 5.6.7 uploadhandler.py文件
- 5.7 发送邮件
- 5.8 小结
- 第6章 Django的视图层
- 6.1 视图层实战
- 6.1.1 实验1:Django中的“hello,world”
- 6.1.2 实验2:Django中的视图类
- 6.1.3 实验3:Django中的请求传参
- 6.1.4 实验4:Django中的文件上传演示
- 6.1.5 实验5:在Django中操作Session
- 6.2 请求与响应
- 6.2.1 HttpRequest类的源码
- 6.2.2 HttpResponse类的源码
- 6.2.3 HttpRequest类和HttpResponseBase类的操作示例
- 6.3 视图层核心源码解读
- 6.3.1 HTTP请求路径的匹配过程
- 6.3.2 答疑解惑
- 6.4 视图类与Mixin类
- 6.4.1 Mixin类的源码解析
- 6.4.2 TemplateView类的源码解析
- 6.4.3 RedirectView类的源码解析
- 6.4.4 DetailView类和ListView类的源码解析
- 6.4.5 MultipleObjectMixin类的源码解析
- 6.4.6 Paginator类的源码解析
- 6.5 追踪Session相关的源码
- 6.5.1 Session相关的配置
- 6.5.2 Session的存储引擎
- 6.5.3 SessionBase类中的代码文件
- 6.6 答疑解惑
- 6.7 小结
- 第7章 Django的中间件原理
- 7.1 配置中间件
- 7.2 加载中间件
- 7.3 中间件的处理流程
- 7.3.1 中间件的请求处理流程
- 7.3.2 中间件的响应处理流程
- 7.3.3 中间件的其他钩子方法
- 7.4 常用的中间件
- 7.4.1 Django内置的中间件类
- 7.4.2 CsrfViewMiddleware中间件
- 7.5 自定义中间件
- 7.6 小结
- 第8章 解读Django中的辅助代码
- 8.1 自动重载
- 8.2 日志配置
- 8.2.1 日志配置实战
- 8.2.2 日志配置的源码追踪
- 8.3 时间解析
- 8.3.1 datetime_safe.py文件
- 8.3.2 dateformat.py文件
- 8.3.3 dateparse.py文件
- 8.4 文本处理
- 8.4.1 text.py文件中的capfirst()函数和wrap()函数
- 8.4.2 html.py文件中的代码
- 8.5 其他的类与函数
- 8.6 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。