Django 開發從入門到實踐

Django 開發從入門到實踐

作者: 段 藝 塗偉忠
出版社: 機械工業
出版在: 2019-12-01
ISBN-13: 9787111640608
ISBN-10: 7111640608





內容描述


Django是一款高性能的Python Web開發框架,本書全面講解Django開發的相關內容。全書內容分為5篇,分別為基礎知識、實踐學習一(從一個簡單的資源管理做起)、實踐學習二(從博客做起)、使用Django開發API、Django系統運維。其中基礎知識篇講解Python基礎知識、各種常用的數據結構、正則表達式、HTTP協議、字符串編碼等;兩個實踐學習篇講解兩個具體的項目,從功能需求設計、模塊劃分,到最終的編碼實現,手把手教你如何從零開始打造自己的項目;使用Django開發API篇通過完整的案例來逐步深入,讓讀者享受使用Django Rest Framework進行API開發的樂趣;Django系統運維篇講解如何線上部署一個系統、需要掌握的基礎知識、使用的每個組件的作用,讓讀者明白其中的原理,以及出現問題之後如何排查。


目錄大綱


序(一)
序(二)
前言

第1篇基礎知識

第1章Django簡介3
1.1 Django基本介紹3
1.2 Django發布情況4
1.3 Django的MVT架構簡介5
1.3.1 MVC模式5
1.3.2 Django MVT模式5
1.4 Django和主流Web框架對比6
1.5開發環境選擇6
1.5.1 Windows平台7
1.5.2 Mac平台7
1.5.3 Linux平台8

第2章掌握必要的基礎知識9
2.1 Web開發需要什麼基礎知識9
2.2 Python語言入門10
2.2.1 Python語言簡介11
2.2.2執行Python代碼的方式11
2.2.3 Python中的縮進格式12
2.2.4常見的運算符13
2.2.5數據類型14
2.2.6字符串14
2.2 .7列表15
2.2.8元組19
2.2.9字典19
2.2.10集合21
2.2.11數據類型的轉換22
2.2.12常見數據結構操作的時間複雜度23
2.2.13選擇語句與循環語句26
2.2.14關於模塊27
2.2.15 Python中的函數28
2.2.16 Python中的類30
2.2.17命令行參數32
2.2.18引用和復制一個對象32
2.2.19常用內置函數33
2.2.20常用模塊的功能35
2.3正則表達式37
2.3.1正則表達式中的元字符37
2.3.2正則模塊的核心函數39
2.3.3理解貪婪與非貪婪41
2.3.4正則表達式中的Flag42
2.4 HTTP協議的基礎知識43
2.5絕對路徑與相對路徑47
2.6 Python中的字符串編碼48

第3章Django初步體驗51
3.1 Django的請求和響應51
3.2 Django的模型和admin站點52
3.2.1新建blog應用53
3.2.2修改項目設置53
3.2.3編寫模型代碼54
3.2.4體驗admin站點55
3.2.5對admin站點進行簡單定制58
3.3初識Django QuerySet62
3.3.1基本查詢63
3.3.2添加記錄64
3.3.3修改記錄65
3.3.4刪除記錄65
3.4 Django的視圖和函數65

第2篇實踐學習一:從一個簡單的資源管理做起

第4章需求的確定和項目排期規劃75
4.1產品定位75
4.2功能需求的確定76
4.3產品設計的確定77
4.4產品實現的排期77

第5章數據模型的設計與實現79
5.1模型簡介79
5.2模型的數據字段79
5.2.1數值類字段80
5.2.2字符類字段80
5.2.3布爾類字段81
5.2. 4日期時間類字段81
5.2.5文件類字段82
5.2.6 IP地址類字段82
5.2.7二進制類字段83
5.3模型關係字段83
5.3.1外鍵字段83
5.3.2多對多字段83
5.3. 3一對一字段84
5.4字段參數84
5.5圖書管理系統模型的實現85
5.6數據庫查詢接口簡介88
5.6.1創建對象89
5.6.2修改對象89
5.6.3查找對象90
5.6.4刪除對象91

第6章網站的入口——URL設計92
6.1 URL設計簡介92
6.2 URL反轉簡介94

第7章頁面和功能的實現96
7.1基本頁面的實現96
7.2 Django模板語言簡介101
7.3 Django用戶認證和鑑權簡介106
7.4用戶系統的實現109
7.4.1用戶註冊功能的實現109
7.4.2用戶登錄功能的實現115
7.4.3用戶註銷功能的實現117
7.4.4修改密碼功能的實現118
7.5圖書管理相關功能的實現124
7.5.1圖書添加功能的實現124
7.5.2圖片上傳功能的實現128
7.5. 3圖書列表功能的實現131
7.5.4圖書詳情功能的實現136

第3篇實踐學習二:從博客做起

第8章個人博客網站的規劃和設計141
8.1功能需求的設計141
8.2模塊劃分143

第9章Django通用視圖簡介144
9.1 TemplateView簡介144
9.2 RedirectView簡介145
9.3 DetailView簡介145
9.4 ListView簡介146
9.5 FormView簡介147
9.6 CreateView簡介147
9.7 UpdateView簡介147
9.8 DeleteView簡介148

第10章基本頁面框架的實現149
10.1前端頁面框架的實現149
10.2後端頁面框架的實現154

第11章用戶系統和認證模塊的實現158
11.1同步數據庫文件158
11.2用戶登錄功能的實現158
11.3用戶註銷功能的實現164

第12章導航欄組件的實現165
12.1導航欄數據模型的設計165
12.2導航欄前端組件的實現166
12.3導航欄管理頁面的製作168

第13章友情鏈接組件的實現180
13.1友情鏈接數據模型的設計180
13.2友情鏈接前端組件的實現181
13.3友情鏈接管理頁面的實現182

第14章“碎碎念”組件的實現191
14.1 “碎碎念”數據模型的設計191
14.2 “碎碎念”前端組件的實現192
14.3 “碎碎念”組件管理頁面的實現193
14.4 “碎碎念”前端TimeLine頁面的實現205

第15章文章組件的實現209
15.1文章數據模型的設計209
15.2文章分類前端組件的實現210
15.3文章分類管理的頁面212
15.4文章管理頁面218
15.5文章前 組件的實現234

第4篇使用Django開發API

第16章序列化241
16.1搭建一個新的開發環境241
16.2開始編寫Web API241
16.3創建模型242
16.4創建一個序列化類243
16.5了解Serializers的工作方式244
16.6使用ModelSerializers246
16.7使用序列化器編寫常規的視圖247
16.8測試Web API249

第17章請求和響應251
17.1 Request對象251
17.2 Response對象251
17.3響應狀態碼251
17.4包裝API視圖252
17.5使用新組件編寫視圖252
17.6給URLs添加可選格式化後綴254
17.7它看起來怎麼樣255
17.8 API可瀏覽性257

第18章基於類的視圖258
18.1使用類視圖重寫API258
18.2使用Mixins混入類260
18.3使用通用類視圖261

第19章認證和權限263
19.1模型類添加一些信息263
19.2添加用戶相關的API264
19.3將Snippets和用戶關聯265
19.4給API添加只讀用戶字段266
19.5給視圖添加必要的權限267
19.6給可瀏覽API添加登錄功能267
19.7實現級別的權限268
19.8通過API實現認證269
19.9認證和權限總結270

第20章關係和超鏈接API271
20.1為API創建根視圖271
20.2添加高亮顯示功能的視圖271
20.3鏈接API272
20.4確保URL都命名274
20.5添加分頁功能275
20.6頁面上瀏覽API275

第21章ViewSets和Routers276
21.1使用ViewSets進行重構276
21.2顯式將URL和ViewSets綁定起來278
21.3使用Routers自動化URL配置279
21.4使用視圖、視圖集的利弊279

第5篇Django系統運維

第22章部署基礎知識283
22.1部署基礎知識儲備283
22.2 Linux進程分析284
22.3 Linux端口分析287

第23章部署上線290
23.1 Django部署前的準備290
23.1.1運行開發服務器進行測試290
23.1.2安裝Nginx290
23.2使用uWSGI部署292
23.2.1安裝uWSGI軟件292
23.2.2使用uWSGI運行項目292
23.3使用supervisor管理進程293
23.3.1安裝supervisor軟件包293
23.3.2 supervisor配置293
23.3.3 supervisor使用簡介294
23.4配置Nginx295

第24章其他常見功能297
24.1 Django中間件297
24.1.1工作原理297
24.1.2激活中間件299
24.1.3編寫中間件300
24.1.4其他中間件鉤子301
24.2 Django信號簡介303
24.2.1信號機制簡介303
24.2.2監聽信號304
24.2.3自定義信號306
24.2.4發送信號306
24.3 Django緩存框架308
24.3.1緩存機制簡介308
24.3.2設置緩存308
24.3.3網站緩存311
24.3.4視圖緩存311
24.3.5模板分片緩存312
24.3.6低層次緩存接口312
24.4 Django日誌314
24.4.1 Django日誌簡介314
24.4.2 Django日誌擴展314
24.4.3 Django默認日誌配置315
24.5 Django發送郵件316
24.6 Django分頁316




相關書籍

大數據時代生存法則

作者 Nicholas Agar 蔡薇薇

2019-12-01

Web前端開發技術(HTML+CSS+JavaScript)(慕課版)

作者 劉何秀 王林 王建

2019-12-01

ASP.NET Core 6 and Angular - Fifth Edition: Full-stack web development with ASP.NET 6 and Angular 13

作者 Sanctis Valerio De

2019-12-01