-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Django 3項目實例精解 版權信息
- ISBN:9787302581840
- 條形碼:9787302581840 ; 978-7-302-58184-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Django 3項目實例精解 本書特色
Django是一個功能強大的Python Web框架,支持快速開發過程及簡潔、實用的設計方案。無論是對于初學者還是專家級程序員,這一特點頗具吸引力。 《Django 3項目實例精解》將引領讀者學習專業Web應用程序的開發流程。除框架知識外,《Django 3項目實例精解》還將講解如何將其他較為流行的技術整合至Django項目中。 《Django 3項目實例精解》將討論真實應用程序的構建過程、常見問題的處理,并逐步實現多種*佳實踐 方案。 在閱讀完《Django 3項目實例精解》后,讀者將能夠理解Django的工作方式,以及如何打造具有實用性的高級Web應用程序。
Django 3項目實例精解 內容簡介
《Django 3項目實例精解》詳細闡述了與Django 3.0開發相關的基本解決方案,主要包括構建博客應用程序、利用不錯特性完善博客程序、擴展博客應用程序、構建社交型網站、共享網站中的內容、跟蹤用戶活動、構建在線商店、管理支付操作和訂單、擴展在線商店應用程序、打造網絡教學平臺、渲染和緩存內容、構建API、搭建聊天服務器、部署項目等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。
Django 3項目實例精解 目錄
第1章 構建博客應用程序 1
1.1 安裝Django 1
1.1.1 創建隔離的Python環境 2
1.1.2 利用pip安裝Django 3
1.2 創建**個項目 3
1.2.1 運行開發服務器 5
1.2.2 項目設置 7
1.2.3 項目和應用程序 8
1.2.4 創建應用程序 8
1.3 設計博客數據方案 9
1.3.1 激活應用程序 11
1.3.2 設置并使用遷移方案 11
1.4 針對模型創建管理站點 13
1.4.1 創建超級用戶 13
1.4.2 Django管理站點 14
1.4.3 向管理站點中添加模型 15
1.4.4 定制模型的顯示方式 17
1.5 與QuerySet和管理器協同工作 18
1.5.1 創建對象 19
1.5.2 更新對象 20
1.5.3 檢索對象 20
1.5.4 刪除對象 22
1.5.5 評估QuerySet 22
1.5.6 創建模型管理器 22
1.6 構建列表和詳細視圖 23
1.6.1 生成列表和視圖 24
1.6.2 向視圖添加URL路徑 25
1.6.3 模型的標準URL 26
1.7 創建視圖模板 27
1.8 添加分頁機制 30
1.9 使用基于類的視圖 33
1.10 本章小結 34
第2章 利用高級特性完善博客程序 35
2.1 通過電子郵件共享帖子 35
2.1.1 使用Django創建表單 36
2.1.2 處理視圖中的表單 37
2.1.3 利用Django發送郵件 38
2.1.4 渲染模板中的表單 41
2.2 構建評論系統 44
2.2.1 構建模型 44
2.2.2 創建模型中的表單 46
2.2.3 處理視圖中的ModelForms 47
2.2.4 向帖子詳細模板中添加評論 49
2.3 添加標簽功能 52
2.4 根據相似性檢索帖子 58
2.5 本章小結 60
第3章 擴展博客應用程序 61
3.1 創建自定義模板標簽和過濾器 61
3.1.1 自定義模板標簽 61
3.1.2 自定義模板過濾器 66
3.2 向站點添加網站地圖 69
3.3 創建帖子提要 72
3.4 向博客中添加全文本搜索功能 74
3.4.1 安裝PostgreSQL 75
3.4.2 簡單的查詢操作 76
3.4.3 多字段搜索 76
3.4.4 構建搜索視圖 77
3.4.5 詞干提取和排名 79
3.4.6 加權查詢 81
3.4.7 利用三元相似性進行搜索 81
3.4.8 其他全文本搜索引擎 82
3.5 本章小結 82
第4章 構建社交型網站 83
4.1 創建社交型網站 83
4.2 使用Django驗證框架 84
4.2.1 構建登錄視圖 85
4.2.2 使用Django驗證視圖 90
4.2.3 登錄和注銷視圖 91
4.2.4 修改密碼視圖 96
4.2.5 重置密碼視圖 98
4.3 用戶注冊和用戶配置 104
4.3.1 用戶注冊 104
4.3.2 擴展用戶模型 107
4.3.3 使用自定義用戶模型 113
4.3.4 使用消息框架 113
4.4 構建自定義驗證后端 116
4.5 向站點中添加社交網站驗證 118
4.5.1 通過HTTPS運行開發服務器 119
4.5.2 基于Facebook的驗證 121
4.5.3 基于Twitter的驗證 126
4.5.4 基于Google的驗證 128
4.6 本章小結 134
第5章 共享網站中的內容 135
5.1 構建圖像書簽網站 135
5.1.1 構建圖像模型 136
5.1.2 生成多對多關系 137
5.1.3 在管理站點中注冊圖像模型 138
5.2 發布其他站點中的內容 139
5.2.1 清空表單字段 139
5.2.2 覆寫ModelForm的save()方法 140
5.2.3 利用jQuery構建書簽工具 145
5.3 創建圖像的細節視圖 152
5.4 利用easy-thumbnails生成圖像縮略圖 155
5.5 利用jQuery添加AJAX操作 156
5.5.1 加載jQuery 157
5.5.2 AJAX請求中的跨站點請求偽造 158
5.5.3 利用jQuery執行AJAX請求 159
5.6 針對視圖創建自定義裝飾器 163
5.7 向列表視圖中添加AJAX分頁機制 164
5.8 本章小結 169
第6章 跟蹤用戶活動 171
6.1 構建關注系統 171
6.1.1 利用中間模型創建多對多關系 171
6.1.2 針對用戶配置創建列表和詳細視圖 174
6.1.3 構建AJAX視圖以關注用戶 179
6.2 構建通用活動流應用程序 181
6.2.1 使用contenttypes框架 182
6.2.2 向模型中添加通用關系 183
6.2.3 避免活動流中的重復內容 186
6.2.4 向活動流中添加用戶活動 187
6.2.5 顯示活動流 188
6.2.6 優化涉及關系對象的QuerySet 188
6.2.7 針對操作活動創建模板 189
6.3 利用信號實現反規范化計數 192
6.3.1 與信號協同工作 192
6.3.2 應用程序配置類 194
6.4 利用Redis存儲數據項視圖 196
6.4.1 安裝Redis 196
6.4.2 結合Python使用Redis 198
6.4.3 將數據視圖存儲于Redis中 199
6.4.4 將排名結果存儲于數據庫中 200
6.4.5 Redis特性 203
6.5 本章小結 203
第7章 構建在線商店 205
7.1 創建在線商店項目 205
7.1.1 創建商品目錄模型 206
7.1.2 注冊管理站點上的目錄模型 208
7.1.3 構建目錄視圖 210
7.1.4 創建目錄模板 212
7.2 創建購物車 216
7.2.1 使用Django會話 217
7.2.2 會話設置 217
7.2.3 會話過期 218
7.2.4 將購物車存儲于會話中 219
7.2.5 創建購物車視圖 223
7.2.6 針對購物車創建上下文處理器 230
7.3 注冊客戶訂單 232
7.3.1 創建訂單模型 232
7.3.2 在管理站點中包含訂單模型 234
7.3.3 創建客戶訂單 235
7.4 利用Celery啟動異步任務 240
7.4.1 安裝Celery 240
7.4.2 安裝RabbitMQ 240
7.4.3 向項目中添加Celery 241
7.4.4 向應用程序中添加異步任務 242
7.4.5 監視Celery 244
7.5 本章小結 244
第8章 管理支付操作和訂單 245
8.1 整合支付網關 245
8.1.1 創建Braintree沙箱賬號 245
8.1.2 安裝Braintree Python模塊 247
8.1.3 集成支付網關 247
8.1.4 使用托管字段集成Braintree 249
8.1.5 支付的測試操作 255
8.1.6 上線 257
8.2 將訂單導出為CSV文件 257
8.3 利用自定義視圖擴展管理站點 260
8.4 動態生成PDF發票 265
8.4.1 安裝WeasyPrint 265
8.4.2 創建PDF模板 265
8.4.3 顯示PDF文件 267
8.4.4 通過電子郵件發送PDF文件 270
8.5 本章小結 273
第9章 擴展在線商店應用程序 275
9.1 創建優惠券系統 275
9.1.1 構建優惠券模型 276
9.1.2 在購物車中使用優惠券 278
9.1.3 在訂單中使用優惠券 284
9.2 添加國際化和本地化機制 286
9.2.1 Django的國際化處理 286
9.2.2 項目的國際化 288
9.2.3 翻譯Python代碼 290
9.2.4 翻譯模板 295
9.2.5 使用Rosetta翻譯接口 299
9.2.6 模糊翻譯 302
9.2.7 國際化的URL路徑 302
9.2.8 切換語言 304
9.2.9 利用django-parler翻譯模塊 306
9.2.10 本地化格式 314
9.2.11 使用django-localflavor驗證表單字段 315
9.3 構建推薦引擎 316
9.4 本章小結 324
第10章 打造網絡教學平臺 325
10.1 設置網絡教學項目 325
10.2 構建課程模型 326
10.2.1 在管理站點中注冊模型 328
10.2.2 使用固定文件提供模型的初始數據 329
10.3 創建包含多樣化內容的模型 332
10.3.1 使用模型繼承機制 332
10.3.2 創建內容模型 334
10.3.3 創建自定義模型字段 337
10.3.4 向模塊和內容對象中添加順序機制 338
10.4 創建CMS 343
10.4.1 添加認證系統 343
10.4.2 創建認證模板 343
10.4.3 設置基于類的視圖 346
10.4.4 針對基于類的視圖使用混合類 347
10.4.5 分組和權限 349
10.4.6 限制訪問基于類的視圖 351
10.5 管理課程模塊和內容 356
10.5.1 針對課程模塊使用表單集 357
10.5.2 向課程模塊中添加內容 361
10.5.3 管理模塊和內容 366
10.5.4 對模塊和內容重排序 370
10.6 本章小結 374
第11章 渲染和緩存內容 375
11.1 顯示課程 375
11.2 添加學生注冊機制 380
11.2.1 創建學生注冊視圖 381
11.2.2 注冊課程 383
11.3 訪問課程內容 387
11.4 渲染不同內容的類型 390
11.5 使用緩存框架 393
11.5.1 有效的緩存后端 394
11.5.2 安裝Memcached 394
11.5.3 緩存設置 395
11.5.4 向項目中添加Memcached 395
11.5.5 監控Memcached 396
11.5.6 緩存級別 397
11.5.7 使用底層緩存API 397
11.5.8 緩存動態數據 399
11.5.9 緩存模板片段 400
11.5.10 緩存視圖 402
11.5.11 使用每個站點緩存 402
11.6 本章小結 403
第12章 構建API 405
12.1 構建RESTful API 405
12.1.1 安裝Django REST框架 406
12.1.2 定義序列化器 407
12.1.3 理解解析器和渲染器 408
12.1.4 構建列表和詳細視圖 409
12.1.5 創建嵌套序列化器 412
12.1.6 構建自定義視圖 413
12.1.7 處理身份驗證 414
12.1.8 向視圖中添加權限 415
12.1.9 創建視圖集和路由器 417
12.1.10 向視圖集添加附加操作 418
12.1.11 創建自定義權限 419
12.1.12 序列化課程內容 420
12.1.13 使用RESTful API 422
12.2 本章小結 425
第13章 搭建聊天服務器 427
13.1 創建聊天應用程序 427
13.1.1 實現聊天室視圖 428
13.1.2 禁用站點緩存 430
13.2 基于Channels的實時Django 431
13.2.1 基于ASGI的異步應用程序 431
13.2.2 基于Channels的請求/響應周期 431
13.3 安裝Channels 433
13.4 編寫使用者 435
13.5 路由機制 436
13.6 實現WebSocket客戶端 437
13.7 啟用通道層 442
13.7.1 通道和分組 443
13.7.2 利用Redis設置通道層 443
13.7.3 更新使用者以廣播消息 444
13.7.4 將上下文添加至消息中 448
13.8 調整使用者使其處于完全異步狀態 451
13.9 集成聊天應用程序和視圖 453
13.10 本章小結 454
第14章 部署項目 455
14.1 創建產品環境 455
14.1.1 針對多種環境管理設置內容 455
14.1.2 使用PostgreSQL 458
14.1.3 項目檢查 458
14.1.4 通過WSGI為Django提供服務 459
14.1.5 安裝uWSGI 459
14.1.6 配置uWSGI 459
14.1.7 安裝NGINX 462
14.1.8 產品環境 463
14.1.9 配置NGINX 463
14.1.10 向靜態和媒體數據集提供服務 465
14.1.11 基于SSL/TLS的安全連接 467
14.1.12 針對Django Channels使用Daphne 472
14.1.13 使用安全的WebSocket連接 473
14.1.14 將Daphne包含于NGINX配置中 473
14.2 創建自定義中間件 476
14.2.1 創建子域名中間件 477
14.2.2 利用NGINX向多個子域名提供服務 479
14.3 實現自定義管理命令 479
14.4 本章小結 482
Django 3項目實例精解 節選
第4章 構建社交型網站 第3章介紹了如何創建網站地圖和摘要,并對blog應用程序構建搜索引擎。本章將開發一個社交應用程序,這意味著,用戶可加入在線平臺,并通過共享內容彼此交互。后續章節將重點討論如何構建圖像共享平臺。用戶將能夠對互聯網上的圖像添加書簽,且彼此間共享內容。除此之外,用戶還可查看所關注用戶在平臺上的活動,并對共享圖像點贊或取消點贊。 本章將介紹如何為用戶創建登錄、注銷、編輯以及密碼重置等功能。此外,本章還將學習如何設置用戶的自定義配置文件,并向網站中添加驗證機制。 本章主要涉及以下內容: q 使用Django授權框架。 q 創建用戶注冊視圖。 q 利用自定義配置模型擴展用戶模型。 q 利用Python Social Auth添加授權機制。 下面將開始構建新項目。 4.1 創建社交型網站 本節將介紹如何創建社交型應用程序,用戶可以此共享他們在互聯網中搜索的圖片。針對該項目,需要設置以下元素: q 用戶驗證系統,以實現注冊、登錄、配置文件的編輯以及密碼的修改和重置等操作。 q 關注系統,以使站點中的用戶間可彼此查看。 q 顯示共享圖片,并實現用戶的標簽工具,進而共享來自任意網站的圖片。 q 每名用戶的操作流,可以使用戶查看所關注用戶的上傳內容。 本章將對此進行逐一討論。 打開終端,使用下列命令創建項目虛擬環境并激活該項目: mkdir env python3 -m venv env/bookmarks source env/bookmarks/bin/activate Shell提示符將顯示處于活動狀態下的虛擬環境,如下所示: (bookmarks)laptop:~ zenx$ 利用下列命令在虛擬環境下安裝Django: pip install "Django==3.0.*" 運行下列命令并創建新項目: django-admin startproject bookmarks 在創建了初始項目結構后,通過下列命令查看項目字典,并創建名為account的新應用程序。 cd bookmarks/ django-admin startapp account 注意,這里應激活項目中的新應用程序,也就是說,將其添加至settings.py文件中的INSTALLED_APPS設置中,并在其他安裝后的應用程序之前將其置于INSTALLED_ APPS列表中,如下所示: INSTALLED_APPS = [ 'account.apps.AccountConfig', # ... ] 后面將定義Django的驗證模板。通過在INSTALLED_APPS設置中放置當前應用程序,可確保驗證模板在默認狀態下予以使用,而非其他應用程序中的驗證模板。Django根據應用程序在INSTALLED_APPS設置中的出現順序查找模板。 運行下列命令,將數據庫與INSTALLED_APPS設置中包含的默認應用程序模型同步: python manage.py migrate 隨后將會看到,全部初始狀態下的Django數據庫遷移均已投入使用。下面將通過Django的驗證系統框架構建項目的驗證系統。 4.2 使用Django驗證框架 Django包含了內置的驗證框架,并可處理用戶驗證、會話、許可權限以及用戶組。驗證系統包含了常見用戶行為的視圖,如登錄、注銷、密碼修改以及密碼重置。 驗證框架位于django.contrib.auth中,其他Django contrib數據包也可對此加以使用;貞浺幌,第1章中已經使用了驗證框架,并生成了blog應用程序的超級用戶以訪問管理站點。 當使用startproject命令創建新的Django項目時,驗證框架包含在項目的默認設置中,包括django.contrib.auth應用程序,以及下列兩個項目MIDDLEWARE設置中的中間件類。 q AuthenticationMiddleware:使用會話將用戶與請求關聯起來。 q SessionMiddleware:處理請求間的當前會話。 中間件表示為一個類,其中包含了一些方法,可在請求或響應階段以全局方式被執行。我們將在多種場合下使用到中間件類。此外,第14章還將學習如何創建自定義中間件。 驗證框架涵蓋了下列模塊: q User表示包含基本字段的用戶模塊,該模塊的主要字段包括username、password、email、first_name、last_name以及is_active。 q Group表示分組模塊,以對用戶進行分類。 q Permission表示用戶或分組標記,并執行特定的操作。 除此之外,該框架還包含了默認的驗證視圖,以及供后續操作使用的表單。 4.2.1 構建登錄視圖 本節將使用Django驗證框架使得用戶可以登錄當前網站。對應的視圖將執行下列操作,從而實現用戶登錄。 (1)通過發布表單獲得用戶名和密碼。 (2)利用存儲于數據庫中的數據對用戶進行驗證。 (3)檢查用戶是否屬于活動狀態。 (4)用戶登錄網站并啟動驗證會話。 下面首先創建登錄表單。在account應用程序目錄中創建新的forms.py文件,并添加下列代碼行: from django import forms class LoginForm(forms.Form): username = forms.CharField() password = forms.CharField(widget=forms.PasswordInput)
- >
月亮與六便士
- >
隨園食單
- >
小考拉的故事-套裝共3冊
- >
自卑與超越
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
唐代進士錄
- >
中國歷史的瞬間
- >
李白與唐代文化