Python Web開發從入門到精通

Python Web開發從入門到精通

作者: 明日科技
出版社: 清華大學
出版在: 2021-06-01
ISBN-13: 9787302566526
ISBN-10: 7302566526
裝訂格式: 平裝
總頁數: 428 頁





內容描述


《Python Web開發從入門到精通》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Python進行Web程序開發應該掌握的各項技術。全書共分15章,包括HTML和CSS基礎、JavaScript基礎、網絡編程基礎、MySQL數據庫基礎、Web框架基礎、Flask框架基礎、Flask框架進階、Django框架基礎、Django框架進階、Tornado框架基礎、FastAPI框架基礎、Flask框架開發好記星博客系統、Django框架開發智慧星學生管理系統、Tornado框架開發BBS社區系統和FastAPI框架開發看圖猜成語微信小程序等內容。


目錄大綱


第1篇 基礎知識
第1章 HTML和CSS基礎 2
1.1 Web簡介 2
1.1.1 什麽是Web 2
1.1.2 Web應用程序的工作原理 3
1.2 HTML基礎 3
1.2.1 HTML簡介 3
1.2.2 HTML標簽和元素 5
1.2.3 HTML表格 7
1.2.4 HTML列表 10
1.2.5 HTML區塊 13
1.2.6 HTML表單 14
1.3 CSS基礎 19
1.3.1 CSS基礎知識 19
1.3.2 嵌入CSS樣式的3種方式 21
1.4 小結 23
第2章 JavaScript基礎與網頁交互 24
2.1 JavaScript基礎 24
2.1.1 標簽 24
2.1.2 JavaScript字面量和變量 25
2.1.3 JavaScript數據類型 26
2.1.4 JavaScript運算符 28
2.1.5 if條件語句 29
2.1.6 switch分支語句 32
2.1.7 for循環語句 34
2.1.8 while循環語句 36
2.1.9 break和continue語句 37
2.1.10 函數 38
2.1.11 JavaScript事件 41
2.1.12 引入JavaScript的兩種方式 42
2.2 jQuery基礎 44
2.2.1 引入jQuery 45
2.2.2 jQuery的基本語法 45
2.2.3 jQuery選擇器 46
2.2.4 jQuery事件 48
2.2.5 獲取內容和屬性 49
2.3 Bootstrap框架 52
2.3.1 Bootstrap 4的安裝 52
2.3.2 Bootstrap 4的基本應用 54
2.4 小結 55
第3章 網絡編程基礎 56
3.1 TCP/IP協議 56
3.1.1 為什麽要使用通信協議 56
3.1.2 TCP/IP簡介 57
3.1.3 UDP簡介 59
3.1.4 Socket簡介 59
3.2 TCP編程 61
3.2.1 創建TCP服務器 61
3.2.2 創建TCP客戶端 62
3.2.3 執行TCP服務器和客戶端 63
3.3 UDP編程 65
3.3.1 創建UDP服務器 66
3.3.2 創建UDP客戶端 66
3.3.3 執行UDP服務器和客戶端 67
3.4 Web基礎 68
3.4.1 HTTP協議 68
3.4.2 Web服務器 68
3.4.3 靜態服務器 70
3.5 WSGI接口 75
3.5.1 CGI簡介 75
3.5.2 WSGI簡介 75
3.5.3 定義WSGI接口 76
3.5.4 運行WSGI服務 77
3.6 小結 79
第4章 MySQL數據庫基礎 80
4.1 MySQL概述 80
4.2 下載安裝MySQL 81
4.2.1 下載MySQL 81
4.2.2 安裝MySQL 82
4.2.3 設置環境變量 83
4.2.4 啟動和關閉MySQL服務 84
4.3 操作MySQL數據庫 84
4.3.1 創建數據庫 84
4.3.2 選擇數據庫 85
4.3.3 查看數據庫 85
4.3.4 刪除數據庫 86
4.4 MySQL數據類型 87
4.4.1 數字類型 87
4.4.2 字符串類型 88
4.4.3 日期和時間類型 89
4.5 操作數據表 89
4.5.1 創建數據表 89
4.5.2 查看表結構 90
4.5.3 修改表結構 92
4.5.4 刪除數據表 93
4.6 操作數據表記錄 93
4.6.1 數據表記錄的添加 93
4.6.2 數據表記錄的查詢 94
4.6.3 數據表記錄的修改 95
4.6.4 數據表記錄的刪除 95
4.7 數據表記錄的查詢操作 96
4.8 使用Python操作MySQL 99
4.8.1 下載PyMySQL 99
4.8.2 連接對象 100
4.8.3 光標對象 101
4.8.4 PyMySQL實現增刪改查操作 102
4.9 ORM編程 105
4.9.1 認識ORM 105
4.9.2 常用的ORM庫 106
4.10 小結 106
第5章 Web框架基礎 107
5.1 Web框架簡介 107
5.1.1 什麽是Web框架 107
5.1.2 什麽是MVC 107
5.1.3 什麽是ORM 108
5.1.4 什麽是模板引擎 108
5.2 常用的Python Web框架 109
5.3 準備開發環境 110
5.3.1 創建虛擬環境 110
5.3.2 使用pip包管理工具 112
5.3.3 使用國內鏡像源加速下載 114
5.4 部署騰訊雲服務器 115
5.4.1 WSGI+Gunicorn+Nginx+Supervisor部署方式 115
5.4.2 常用的雲服務器 116
5.4.3 安裝pip包管理工具 119
5.4.4 安裝虛擬環境 120
5.4.5 安裝Gunicorn 122
5.4.6 安裝Nginx 124
5.4.7 安裝Supervisor 128
5.5 小結 131
第2篇 Web框架
第6章 Flask框架基礎 134
6.1 下載並安裝Flask框架 134
6.2 Flask基礎 135
6.2.1 第一個Flask應用 135
6.2.2 開啟調試模式 136
6.3 路由 137
6.3.1 變量規則 137
6.3.2 構造URL 139
6.3.3 HTTP方法 140
6.3.4 靜態文件 140
6.4 模板 141
6.4.1 渲染模板 141
6.4.2 模板變量 143
6.4.3 控制結構 144
6.5 Web表單 146
6.5.1 CSRF保護和驗證 146
6.5.2 表單類 147
6.5.3 把表單類渲染成HTML 148
6.6 藍圖 151
6.6.1 為什麽使用藍圖 151
6.6.2 藍圖的基本使用方法 152
6.7 Flask常用擴展 153
6.7.1 Flask-SQLAlchemy擴展 153
6.7.2 Flask-Migrate擴展 156
6.7.3 Flask-Script擴展 159
6.8 小結 164
第7章 Flask框架進階 165
7.1 Flask請求 165
7.1.1 Request請求對象 165
7.1.2 請求鉤子 171
7.2 Flask響應 172
7.2.1 Response響應對象 172
7.2.2 響應格式 173
7.2.3 Cookie和Session 175
7.3 模板進階知識 180
7.3.1 模板上下文 180
7.3.2 模板過濾器 181
7.3.3 局部模板 184
7.3.4 模板繼承 185
7.3.5 消息閃現 187
7.3.6 自定義錯誤頁面 190
7.4 使用Flask-SQLAlchemy管理數據庫 191
7.4.1 連接數據庫服務器 192
7.4.2 定義數據模型 192
7.4.3 定義關系 194
7.4.4 數據庫操作 195
7.5 小結 198
第8章 Django框架基礎 199
8.1 Django框架簡介 199
8.1.1 Django 3.0版本的新特性 199
8.1.2 安裝Django Web框架 200
8.2 創建項目 200
8.3 創建應用 202
8.4 數據模型 203
8.5 管理後台 210
8.6 路由 213
8.7 視圖 216
8.8 Django模板 217
8.9 表單 221
8.10 小結 224
第9章 Django框架進階 225
9.1 Session會話 225
9.1.1 啟用會話 225
9.1.2 配置會話引擎 226
9.1.3 會話對象的常用方法 227
9.1.4 使用會話實現登錄功能 227
9.1.5 退出登錄 231
9.1.6 登錄驗證 231
9.2 ModelForm 232
9.2.1 使用ModelForm 233
9.2.2 字段類型 234
9.2.3 ModelForm的驗證 236
9.2.4 save()方法 237
9.2.5 ModelForm的字段選擇 238
9.3 Model進階 239
9.3.1 一對一(OneToOneField) 239
9.3.2 多對一(ForeignKey) 241
9.3.3 多對多(ManyToManyField) 245
9.4 ModelAdmin的屬性 248
9.4.1 ModelAdmin.fields 249
9.4.2 ModelAdmin.fieldset 250
9.4.3 ModelAdmin.list_display 252
9.4.4 ModelAdmin.list_display_links 255
9.4.5 ModelAdmin.list_editable 256
9.4.6 ModelAdmin.list_filter 257
9.5 小結 260
第10章 Tornado框架基礎 261
10.1 認識Tornado 261
10.1.1 Tornado簡介 261
10.1.2 安裝Tornado 262
10.2 第一個Tornado程序 262
10.3 路由 263
10.4 HTTP方法 264
10.5 模板 265
10.5.1 渲染模板 266
10.5.2 模板語法 267
10.5.3 提供靜態文件 268
10.6 異步與協程 269
10.6.1 基本概念 269
10.6.2 asyncio模塊 271
10.6.3 Tornado框架的gen模塊 273
10.7 操作MySQL數據庫 273
10.7.1 安裝Tornado-MySQL 274
10.7.2 Tornado-MySQL的基本應用 274
10.8 操作Redis數據庫 275
10.8.1 安裝Redis數據庫 275
10.8.2 安裝Tornado-Redis 277
10.8.3 Tornado-Redis的基本應用 278
10.9 小結 279
第11章 FastAPI框架基礎 280
11.1 認識FastAPI 280
11.1.1 FastAPI簡介 280
11.1.2 安裝FastAPI 281
11.2 第一個FastAPI程序 281
11.3 API文檔 282
11.3.1 交互式API文檔 282
11.3.2 備用API文檔 284
11.4 Path路徑參數 284
11.4.1 聲明路徑參數 284
11.4.2 路徑參數的類型與轉換 285
11.4.3 數據類型校驗 285
11.4.4 指定路徑順序 286
11.5 Query查詢參數 287
11.5.1 Query參數 287
11.5.2 設置Query參數 288
11.5.3 Query參數類型轉換 288
11.5.4 同時使用Path參數和Query參數 289
11.5.5 必需的查詢參數 291
11.6 Request Body請求體 292
11.6.1 什麽是請求體 292
11.6.2 創建數據模型 292
11.6.3 使用Request Body的好處 293
11.6.4 同時定義Path參數、Query參數和請求Request Body參數 294
11.7 Header請求頭參數 296
11.8 Form表單數據 296
11.9 操作MySQL數據庫 297
11.10 小結 304
第3篇 項目實戰
第12章 Flask框架開發好記星博客系統 306
12.1 需求分析 306
12.2 系統功能設計 307
12.2.1 系統功能結構 307
12.2.2 系統業務流程 307
12.2.3 系統預覽 307
12.3 系統開發必備 309
12.3.1 系統開發環境 309
12.3.2 文件夾組織結構 309
12.4 數據庫設計 310
12.4.1 數據庫概要說明 310
12.4.2 創建數據表 310
12.4.3 數據庫操作類 311
12.5 用戶模塊設計 314
12.5.1 用戶登錄功能實現 314
12.5.2 退出登錄功能實現 317
12.5.3 用戶權限管理功能實現 318
12.6 博客模塊設計 319
12.6.1 博客列表功能實現 319
12.6.2 添加博客功能實現 320
12.6.3 編輯博客功能實現 322
12.6.4 刪除博客功能實現 324
12.7 小結 324
第13章 Django框架開發智慧星學生管理系統 325
13.1 需求分析 325
13.2 系統功能設計 325
13.2.1 系統功能結構 325
13.2.2 系統業務流程 326
13.2.3 系統預覽 326
13.3 系統開發必備 328
13.3.1 系統開發環境 328
13.3.2 文件夾組織結構 328
13.4 數據庫設計 329
13.4.1 數據庫概要說明 329
13.4.2 數據表模型 330
13.5 公共模塊設計 332
13.5.1 修改目錄結構 332
13.5.2 配置settings 332
13.6 學生模塊設計 334
13.6.1 學生登錄功能實現 334
13.6.2 退出登錄功能實現 338
13.6.3 查詢成績功能實現 338
13.7 後台管理員模塊設計 340
13.7.1 管理老師信息 341
13.7.2 設置權限組 344
13.8 老師模塊設計 345
13.8.1 管理學生信息 346
13.8.2 管理成績信息 348
13.8.3 批量上傳學生信息和成績信息 350
13.9 小結 354
第14章 Tornado框架開發BBS社區系統 355
14.1 需求分析 355
14.2 系統功能設計 355
14.2.1 系統功能結構 355
14.2.2 系統業務流程 356
14.2.3 系統預覽 357
14.3 系統開發必備 359
14.3.1 系統開發環境 359
14.3.2 文件夾組織結構 359
14.4 數據庫設計 360
14.4.1 數據庫概要說明 360
14.4.2 數據表關系 360
14.5 用戶系統設計 361
14.5.1 用戶註冊功能 361
14.5.2 登錄功能實現 365
14.5.3 用戶註銷功能實現 366
14.6 問題模塊設計 367
14.6.1 問題列表實現 367
14.6.2 問題詳情的功能實現 368
14.6.3 創建問題的實現 370
14.7 答案長輪詢設計 373
14.8 小結 375
第15章 FastAPI框架開發看圖猜成語微信小程序 376
15.1 需求分析 376
15.2 系統功能設計 377
15.2.1 系統功能結構 377
15.2.2 系統業務流程 377
15.2.3 系統預覽 378
15.3 系統開發必備 379
15.3.1 系統開發環境 379
15.3.2 文件夾組織結構 379
15.4 數據庫設計 379
15.4.1 數據庫概要說明 379
15.4.2 數據表模型 380
15.4.3 模型對象方法 381
15.5 小程序開發必備 382
15.5.1 註冊小程序 382
15.5.2 小程序信息完善及開發前準備 384
15.5.3 下載微信開發工具 386
15.6 首頁登錄授權模塊設計 387
15.6.1 首頁登錄授權模塊概述 387
15.6.2 首頁頁面設計 388
15.6.3 登錄授權接口實現 393
15.7 答題模塊設計 397
15.7.1 答題模塊概述 397
15.7.2 答題頁面設計 398
15.7.3 答題接口實現 404
15.8 通關模塊設計 408
15.8.1 通關模塊概述 408
15.8.2 通關頁面設計 409
15.9 排行榜模塊設計 410
15.9.1 排行榜模塊概述 410
15.9.2 排行榜頁面設計 411
15.9.3 排行榜接口實現 412
15.10 小結 413


作者介紹


明日科技,全稱是吉林省明日科技有限公司,是一家專業從事軟件開發、教育培訓以及軟件開發教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發中的必需、常用內容,同時也很注重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。
其教材多次榮獲“全行業優秀暢銷品種”“全國高校出版社優秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。




相關書籍

Getting Started with Processing.py: Making Interactive Graphics with Python's Processing Mode (Make:)

作者 Allison Parrish Ben Fry Casey Reas

2021-06-01

深度強化學習算法與實踐:基於PyTorch的實現

作者 張校捷

2021-06-01

Python機器學習實戰

作者 劉宇熙(Hayden Liu)

2021-06-01