由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 深入理解Django:框架内幕与实现原理 沈聪,全树强 电子工业
¥ ×1
第1 章 Django 源码的前置知识 ............................................................................................... 1
1.1 在学习Django 源码前,该做什么 ............................................................................. 1
1.1.1 Django 的版本选择 ...................................................................................... 1
1.1.2 Django 源码学习基础 .................................................................................. 2
1.2 搭建Django 的调试环境和测试环境 .......................................................................... 3
1.2.1 调试django-admin 命令 .................................................................................. 3
1.2.2 调试manage.py 命令 ....................................................................................... 8
1.2.3 调试框架源码 ................................................................................................. 11
1.2.4 搭建Django 的测试环境 ............................................................................... 15
1.3 学习Django 源码的建议 ........................................................................................... 17
1.4 小结 ............................................................................................................................. 18
第2 章 Django 命令原理解析 ...................................................................................... 19
2.1 基础方法介绍 ............................................................................................................. 19
2.1.1 find_commands()函数 .................................................................................... 19
2.1.2 load_command_class()函数 ............................................................................ 20
2.1.3 get_commands()函数 ...................................................................................... 20
2.1.4 call_command()函数 ...................................................................................... 21
2.2 startproject 命令的实现原理 ...................................................................................... 24
2.3 shell 命令的实现原理 ................................................................................................. 33
2.4 makemigrations 命令的实现原理 .............................................................................. 45
2.4.1 makemigrations 命令的基本操作示例 ........................................................ 45
2.4.2 迁移相关的基础类与方法 ......................................................................... 47
2.4.3 追踪makemigrations 命令 .......................................................................... 69
2.5 migrate 命令的实现原理 ............................................................................................ 78
2.6 小结 ............................................................................................................................. 90
第3 章 Django 内置的ORM 框架 ................................................................................ 91
3.1 读取Django 项目的配置信息 ................................................................................... 91
3.1.1 Settings 类 .................................................................................................. 92
3.1.2 LazySettings 类 ........................................................................................... 94
3.2 ORM 框架的底层核心 ............................................................................................... 97
3.2.1 mysqlclient 模块中的常用方法 .................................................................. 97
3.2.2 ORM 框架的源码解析 ............................................................................... 98
3.2.3 DatabaseWrapper 类的实战案例 .............................................................. 108
3.3 Django 中数据库操作背后的原理........................................................................... 116
3.3.1 在Django 中执行原生SQL 语句 ............................................................. 117
3.3.2 ORM 框架的基本操作 ............................................................................. 118
3.3.3 答疑解惑 .................................................................................................. 160
3.3.4 ORM 框架的聚合操作 ............................................................................. 162
3.4 ORM 框架的部分源码解读 ..................................................................................... 176
3.5 小结 ........................................................................................................................... 205
第4 章 Django 内置的模板系统 ................................................................................. 206
4.1 Django 内置的模板语法 .......................................................................................... 206
4.1.1 for 标签 .................................................................................................... 207
4.1.2 if 标签 ...................................................................................................... 211
4.1.3 csrf_token 标签 ......................................................................................... 212
4.1.4 with 标签 .................................................................................................. 212
4.1.5 cycle 标签 ................................................................................................. 213
4.1.6 include 标签 ............................................................................................. 214
4.1.7 过滤器标签 .............................................................................................. 215
4.2 Django 内置模板引擎源码解读 .............................................................................. 216
4.2.1 get_template()方法的源码解析 ................................................................ 216
4.2.2 _engine_list()方法的源码解析.................................................................. 216
4.2.3 EngineHandler 类的源码解析 .................................................................. 217
4.2.4 DjangoTemplates 类的源码解析 ............................................................... 221
4.3 答疑解惑 ................................................................................................................... 283
4.4 Jinja2 模块封装过程解析 ......................................................................................... 299
4.5 小结 ........................................................................................................................... 303
第5 章 解读Django 核心模块的源码 ........................................................................ 304
5.1 core 目录源码一览 ................................................................................................... 304
5.2 请求处理 ................................................................................................................... 305
5.3 缓存模块 ................................................................................................................... 316
5.4 检查模块 ................................................................................................................... 330
5.4.1 messages.py 文件的源码解析 ................................................................... 330
5.4.2 registry.py 文件的源码解析 ...................................................................... 333
5.5 序列化 ....................................................................................................................... 348
5.5.1 serialize()方法的源码解析 ....................................................................... 349
5.5.2 JSON 序列化器的底层逻辑 ..................................................................... 359
5.5.3 简单分析Python 序列化器的输出结果 ................................................... 366
5.6 文件模块 ................................................................................................................... 367
5.6.1 uploadedfile.py 文件 ................................................................................. 367
5.6.2 images.py 文件 ......................................................................................... 374
5.6.3 locks.py 文件 ............................................................................................ 376
5.6.4 temp.py 文件 ............................................................................................ 378
5.6.5 move.py 文件 ........................................................................................... 379
5.6.6 storage.py 文件 ......................................................................................... 381
5.6.7 uploadhandler.py 文件 .............................................................................. 384
5.7 发送邮件 ................................................................................................................... 393
5.8 小结 ........................................................................................................................... 405
第6 章 Django 的视图层 ........................................................................................... 406
6.1 视图层实战 ............................................................................................................... 406
6.1.1 实验1:Django 中的“hello, world” ....................................................... 406
6.1.2 实验2:Django 中的视图类 .................................................................... 409
6.1.3 实验3:Django 中的请求传参 ................................................................ 410
6.1.4 实验4:Django 中的文件上传演示 ........................................................ 414
6.1.5 实验5:在Django 中操作Session .......................................................... 417
6.2 请求与响应 ............................................................................................................... 419
6.2.1 HttpRequest 类的源码 .............................................................................. 429
6.2.2 HttpResponse 类的源码 ............................................................................ 433
6.2.3 HttpRequest 类和HttpResponseBase 类的操作示例 ................................ 440
6.3 视图层核心源码解读 ............................................................................................... 444
6.3.1 HTTP 请求路径的匹配过程 ..................................................................... 449
6.3.2 答疑解惑 .................................................................................................. 457
6.4 视图类与Mixin 类 ................................................................................................... 462
6.4.1 Mixin 类的源码解析 ................................................................................ 462
6.4.2 TemplateView 类的源码解析 ................................................................... 463
6.4.3 RedirectView 类的源码解析 ..................................................................... 467
6.4.4 DetailView 类和ListView 类的源码解析 ................................................. 469
6.4.5 MultipleObjectMixin 类的源码解析 ......................................................... 479
6.4.6 Paginator 类的源码解析 ........................................................................... 482
6.5 追踪Session 相关的源码 ......................................................................................... 486
6.5.1 Session 相关的配置 .................................................................................. 486
6.5.2 Session 的存储引擎 .................................................................................. 495
6.5.3 SessionBase 类中的代码文件 ................................................................... 502
6.6 答疑解惑 ................................................................................................................... 507
6.7 小结 ........................................................................................................................... 517
第7 章 Django 的中间件原理 .................................................................................... 518
7.1 配置中间件 ............................................................................................................... 518
7.2 加载中间件 ............................................................................................................... 519
7.3 中间件的处理流程 ................................................................................................... 521
7.3.1 中间件的请求处理流程 ........................................................................... 521
7.3.2 中间件的响应处理流程 ........................................................................... 525
7.3.3 中间件的其他钩子方法 ........................................................................... 526
7.4 常用的中间件 ........................................................................................................... 528
7.4.1 Django 内置的中间件类 .......................................................................... 528
7.4.2 CsrfViewMiddleware 中间件 .................................................................... 529
7.5 自定义中间件 ........................................................................................................... 536
7.6 小结 ........................................................................................................................... 541
第8 章 解读Django 中的辅助代码 ............................................................................ 542
8.1 自动重载 ................................................................................................................... 542
8.2 日志配置 ................................................................................................................... 552
8.2.1 日志配置实战 .......................................................................................... 553
8.2.2 日志配置的源码追踪 ............................................................................... 555
8.3 时间解析 ................................................................................................................... 559
8.3.1 datetime_safe.py 文件 ............................................................................... 559
8.3.2 dateformat.py 文件 ................................................................................... 562
8.3.3 dateparse.py 文件 ...................................................................................... 565
8.4 文本处理 ................................................................................................................... 569
8.4.1 text.py 文件中的capfirst()函数和wrap()函数 .......................................... 570
8.4.2 html.py 文件中的代码 .............................................................................. 575
8.5 其他的类与函数 ....................................................................................................... 582
8.6 小结 ........................................................................................................................... 589
沈聪,本科毕业于南昌大学,硕士毕业于武汉大学电子信息学院,毕业后进入天翼云科技有限公司,目前在天翼云媒体存储小组从事大规模集群部署、运维平台开发及集群日常运维、巡检等工作。拥有多年运维开发经验,目前专注于Python自动化运维、云存储等方向,研究过数个热门Pyth框架源码,如Ansible、Django、Scrapy,在慕课网上发表了多个基础教程,内容涉及Nginx入门、Python算法、Django框架及Scrapy框架,并出版了《吃透Ansible:核心源码剖析与项目实战》一书。
全树强,本科和硕士皆毕业于武汉大学电子信息学院,毕业后进入天翼云科技有限公司,目前在天翼云媒体存储小组负责媒体存储小组内部的统一运维管理平台研发工作,对Django框架源码有较为深入的研究,并且在Java后端和前端、以及自动化运维领域做过大量开发工作,有丰富的运维和开发经验,是一位全栈工程师。
Django源码很适合初学者学习,调试、验证都很方便。通过本书可以学到许多Python 的高级用法。本书提供了许多实战案例,可以帮助理解Django相关的类与方法。Django 是Python 在Web 框架中的代表作品。学习Django源码,一方面,能从中学到许多Python 的高级用法;另一方面,能深度掌握Django 框架,并能随时对其进行定制和改造,这对一个Python 程序员的成长至关重要。
另外,Django 源码十分适合初学者学习,不仅调试方便,而且可以随时打印结果进行验证。以Django 源码为入口切入开源世界,对Python 爱好者而言,再合适不过了。
全书共分为8 章,分别是Django 源码的前置知识、 Django 命令原理解析、Django 内置的ORM框架、Django 内置的模板系统、解读Django 核心模块的源码、Django 的视图层、Django 的中间件原理和解读Django 中的辅助代码。本书展示了剖析Django 框架的完整过程,这种剖析方式同样适用于其他框架,如Flask、Ansible 和Scrapy 等。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格