書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
深入理解Django:框架內(nèi)幕與實現(xiàn)原理

深入理解Django:框架內(nèi)幕與實現(xiàn)原理

作者:沈聰
出版社:電子工業(yè)出版社出版時間:2021-10-01
開本: 其他 頁數(shù): 604
中 圖 價:¥74.3(6.3折) 定價  ¥118.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

深入理解Django:框架內(nèi)幕與實現(xiàn)原理 版權信息

深入理解Django:框架內(nèi)幕與實現(xiàn)原理 本書特色

適讀人群 :本書適合有一定Python 基礎的開發(fā)人員、Django 框架的初學者,以及渴望進入開源世界的讀者閱讀。Django 是Python 在Web 框架中的代表作品。學習Django源碼,一方面,能從中學到許多Python 的高級用法;另一方面,能深度掌握Django 框架,并能隨時對其進行定制和改造,這對一個Python 程序員的成長至關重要。另外,Django 源碼十分適合初學者學習,不僅調試方便,而且可以隨時打印結果進行驗證。以Django 源碼為入口切入開源世界,對Python 愛好者而言,再合適不過了。

深入理解Django:框架內(nèi)幕與實現(xiàn)原理 內(nèi)容簡介

全書共分為8 章,分別是Django 源碼的前置知識、 Django 命令原理解析、Django 內(nèi)置的ORM框架、Django 內(nèi)置的模板系統(tǒng)、解讀Django 核心模塊的源碼、Django 的視圖層、Django 的中間件原理和解讀Django 中的輔助代碼。本書展示了剖析Django 框架的完整過程,這種剖析方式同樣適用于其他框架,如Flask、Ansible 和Scrapy 等。

深入理解Django:框架內(nèi)幕與實現(xiàn)原理 目錄

第1 章 Django 源碼的前置知識 . 1
1.1 在學習Django 源碼前,該做什么 . 1
1.1.1 Django 的版本選擇 1
1.1.2 Django 源碼學習基礎 2
1.2 搭建Django 的調試環(huán)境和測試環(huán)境 3
1.2.1 調試django-admin 命令 3
1.2.2 調試manage.py 命令 . 8
1.2.3 調試框架源碼 . 11
1.2.4 搭建Django 的測試環(huán)境 . 15
1.3 學習Django 源碼的建議 . 17
1.4 小結 . 18

第2 章 Django 命令原理解析 19
2.1 基礎方法介紹 . 19
2.1.1 find_commands()函數(shù) 19
2.1.2 load_command_class()函數(shù) 20
2.1.3 get_commands()函數(shù) 20
2.1.4 call_command()函數(shù) 21
2.2 startproject 命令的實現(xiàn)原理 24
2.3 shell 命令的實現(xiàn)原理 . 33
2.4 makemigrations 命令的實現(xiàn)原理 45
2.4.1 makemigrations 命令的基本操作示例 45
2.4.2 遷移相關的基礎類與方法 . 47
2.4.3 追蹤makemigrations 命令 69
2.5 migrate 命令的實現(xiàn)原理 78
2.6 小結 . 90

第3 章 Django 內(nèi)置的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 類的實戰(zhàn)案例 108
3.3 Django 中數(shù)據(jù)庫操作背后的原理. 116
3.3.1 在Django 中執(zhí)行原生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 內(nèi)置的模板系統(tǒng) . 206
4.1 Django 內(nèi)置的模板語法 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 內(nèi)置模板引擎源碼解讀 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 發(fā)送郵件 . 393
5.8 小結 . 405

第6 章 Django 的視圖層 . 406
6.1 視圖層實戰(zhàn) . 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 內(nèi)置的中間件類 528
7.4.2 CsrfViewMiddleware 中間件 529
7.5 自定義中間件 . 536
7.6 小結 . 541

第8 章 解讀Django 中的輔助代碼 542
8.1 自動重載 . 542
8.2 日志配置 . 552
8.2.1 日志配置實戰(zhàn) 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()函數(shù)和wrap()函數(shù) 570
8.4.2 html.py 文件中的代碼 575
8.5 其他的類與函數(shù) . 582
8.6 小結 . 589


展開全部

深入理解Django:框架內(nèi)幕與實現(xiàn)原理 作者簡介

沈聰,本科畢業(yè)于南昌大學,碩士畢業(yè)于武漢大學電子信息學院,畢業(yè)后進入天翼云科技有限公司,目前在天翼云媒體存儲小組從事大規(guī)模集群部署、運維平臺開發(fā)及集群日常運維、巡檢等工作。擁有多年運維開發(fā)經(jīng)驗,目前專注于Python自動化運維、云存儲等方向,研究過數(shù)個熱門Pyth框架源碼,如Ansible、Django、Scrapy,在慕課網(wǎng)上發(fā)表了多個基礎教程,內(nèi)容涉及Nginx入門、Python算法、Django框架及Scrapy框架,并出版了《吃透Ansible:核心源碼剖析與項目實戰(zhàn)》一書。全樹強,本科和碩士皆畢業(yè)于武漢大學電子信息學院,畢業(yè)后進入天翼云科技有限公司,目前在天翼云媒體存儲小組負責媒體存儲小組內(nèi)部的統(tǒng)一運維管理平臺研發(fā)工作,對Django框架源碼有較為深入的研究,并且在Java后端和前端、以及自動化運維領域做過大量開發(fā)工作,有豐富的運維和開發(fā)經(jīng)驗,是一位全棧工程師。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服