中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
Python FastAPI Web開發從入門到項目實戰(視頻版)

包郵 Python FastAPI Web開發從入門到項目實戰(視頻版)

出版社:華中科技大學出版社出版時間:2022-10-01
開本: 16開 頁數: 328
中 圖 價:¥55.4(5.6折) 定價  ¥99.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

Python FastAPI Web開發從入門到項目實戰(視頻版) 版權信息

Python FastAPI Web開發從入門到項目實戰(視頻版) 本書特色

國內難得的FastAPI書籍,FastAPI是Python技術體系里輕量級Web框架,在異步處理上具有優異的性能表現,是Python下極其優秀的輕量級框架。本書內容編排從易到難,從基礎到項目實戰,為開發人員提供了完整的學習內容。

Python FastAPI Web開發從入門到項目實戰(視頻版) 內容簡介

FastAPI是基于Python語言的輕量級、成熟的Web后端開發框架。它除了簡單易學、能提供自動生成的API文檔外,還有一個重要優點是支持異步技術,其性能可以與NodeJS、GO語言相媲美,為Web項目高并發訪問提供了更好的技術選擇。另外,FastAPI定位為商業級的前后端分離開發框架,為前端技術提供了簡單易用的調用接口。目前,國內外不少互聯網企業,都采用該框架作為商業項目開發基礎。本書第1部分為基礎篇,系統介紹了FastAPI的使用;第2部分為實戰篇,通過后端FastAPI框架與前端Vue.js框架的組合,給出了一個商業實戰項目案例。

Python FastAPI Web開發從入門到項目實戰(視頻版) 目錄

第1部分 基礎篇
第1章 認識FastAPI 3
1.1 Web基礎知識 3
1.1.1 Web簡介 3
1.1.2 超文本傳輸協議基礎 7
1.2 初識FastAPI 10
1.2.1 FastAPI簡介 10
1.2.2 安裝FastAPI 11
1.2.3 驗證安裝結果 12
1.3 Hello三酷貓 13
1.3.1 **個程序,Hello三酷貓 13
1.3.2 OpenAPI文檔 14
1.3.3 Python中的異步語法 15
1.4 FastAPI框架構成 16
1.4.1 FastAPI框架功能 16
1.4.2 Python類型提示 17
1.4.3 Pydantic框架 21
1.4.4 Starlette框架 24
1.5 PyCharm代碼編輯工具 25
1.5.1 PyCharm簡介及安裝 25
1.5.2 PyCharm常用功能 30
1.6 習題及實驗 34
??
第2章 認識請求 35
2.1 請求原理 35
2.2 路徑參數 36
2.2.1 簡單路徑參數 37
2.2.2 有類型的路徑參數 38
2.2.3 有類型路徑參數的數據驗證 38
2.2.4 路由訪問順序 39
2.2.5 使用枚舉類型參數 40
2.3 查詢參數 42
2.3.1 標準查詢參數 42
2.3.2 可選查詢參數 43
2.3.3 必選查詢參數 44
2.3.4 參數類型轉換 45
2.3.5 同時使用路徑參數和查詢參數 46
2.3.6 案例:三酷貓賣海鮮(一) 47
2.4 請求體 48
2.4.1 定義請求體的數據模型 49
2.4.2 同時使用路徑參數、查詢參數和請求體 51
2.4.3 可選的請求體參數 54
2.4.4 同時使用多個請求體 56
2.4.5 常規數據類型作為請求體使用 58
2.5 表單和文件 59
2.5.1 表單數據 59
2.5.2 文件上傳 60
2.5.3 表單和多文件上傳 62
2.6 案例:三酷貓賣海鮮(二) 62
2.7 習題及實驗 64
第3章 認識響應 66
3.1 響應原理 66
3.2 響應模型 67
3.2.1 認識響應模型 67
3.2.2 業務數據模型 71
3.2.3 簡化數據模型定義 72
3.2.4 使用多個響應模型 73
??
3.3 內置響應類 74
3.3.1 純文本響應 75
3.3.2 HTML響應 75
3.3.3 重定向響應 77
3.3.4 JSON響應 78
3.3.5 通用響應 79
3.3.6 流響應 80
3.3.7 文件響應 81
3.4 案例:三酷貓賣海鮮(三) 81
3.5 習題及實驗 83
第4章 深入請求和響應 84
4.1 在請求中使用類 84
4.1.1 查詢參數類 84
4.1.2 路徑參數類 90
4.1.3 Cookie參數類 91
4.1.4 Header參數類 93
4.1.5 Field類 95
4.1.6 實現復雜的請求數據模型 97
4.1.7 直接使用請求類 101
4.2 自定義響應返回數據 102
4.2.1 自定義Cookie數據 102
4.2.2 自定義Header數據 103
4.2.3 默認響應狀態碼 104
4.2.4 自定義響應狀態碼 105
4.3 異常處理 106
4.3.1 異常類HttpException 106
4.3.2 全局異常處理器 108
4.3.3 內置異常處理器 110
4.4 中間件技術 112
4.4.1 自定義中間件 113
4.4.2 調用CORS中間件 113
4.4.3 調用UnicornMiddleware中間件 115
4.4.4 調用HTTPSRedirectMiddleware中間件 115
4.4.5 調用TrustedHostMiddleware中間件 116
4.4.6 調用GZipMiddleware中間件 118
4.5 案例:三酷貓賣海鮮(四) 118
4.6 習題及實驗 120
第5章 依賴注入 121
5.1 依賴注入原理 121
5.2 使用函數實現依賴注入 122
5.3 使用類實現依賴注入 124
5.4 依賴注入的嵌套 125
5.5 在裝飾器中使用依賴注入 127
5.6 依賴項中的yield 129
5.7 依賴類的可調用實例 131
5.8 案例:三酷貓賣海鮮(五) 133
5.9 習題及實驗 134
第6章 數據庫操作 135
6.1 SQLAlchemy基本操作 135
6.1.1 安裝和連接 136
6.1.2 定義數據模型 137
6.1.3 定義關聯關系 139
6.1.4 CRUD操作 143
6.1.5 直接使用SQL 145
6.2 連接MySQL 146
6.2.1 安裝數據庫驅動 146
6.2.2 創建項目并連接SQLAlchemy 146
6.2.3 創建SQLAlchemy數據庫模型 147
6.2.4 創建Pydantic數據模型 148
6.2.5 實現數據操作 149
6.2.6 實現FastAPI請求函數 151
6.3 連接MongoDB 154
6.3.1 安裝MongoDB 155
6.3.2 安裝數據庫驅動 157
6.3.3 實現MongoDB中的數據操作 158
6.4 連接Redis 160
6.4.1 安裝Redis 161
6.4.2 安裝數據庫驅動 162
6.4.3 實現Redis中的數據操作 163
6.5 案例:三酷貓賣海鮮(六) 165
6.6 習題及實驗 167
第7章 安全機制 169
7.1 安全機制基本功能 169
7.2 添加基于OAuth 2的安全機制 171
7.3 實現基于OAuth 2的安全機制 172
7.3.1 創建數據庫應用 173
7.3.2 增加注冊用戶功能 175
7.3.3 生成令牌 178
7.3.4 增加用戶登錄功能 178
7.3.5 獲取當前登錄用戶數據 180
7.4 習題及實驗 182
第8章 異步技術 183
8.1 基本概念 183
8.1.1 進程/線程 183
8.1.2 阻塞/非阻塞 184
8.1.3 同步/異步 185
8.1.4 并發/并行 185
8.1.5 GIL 185
8.2 協程 186
8.2.1 事件循環加回調 186
8.2.2 基于生成器的協程 186
8.2.3 使用yield from 改進協程 187
8.2.4 原生協程 187
8.3 Asyncio庫介紹 187
8.3.1 事件循環 188
8.3.2 協程 188
8.3.3 Future對象 189
8.3.4 Task和可等待對象 189
8.4 案例:三酷貓賣海鮮(七) 190
8.5 習題及實驗 191
第9章 企業應用架構 193
9.1 應用程序和子應用 193
9.1.1 使用環境變量 193
9.1.2 應用事件處理 197
9.1.3 管理子應用 198
9.1.4 管理外部Web應用 200
9.2 應用模塊管理 201
9.2.1 路由類 202
9.2.2 應用目錄結構 202
9.3 頁面模板技術 204
9.3.1 Jinja2模板入門 204
9.3.2 管理靜態文件 206
9.4 案例:三酷貓賣海鮮(八) 207
9.5 習題及實驗 210
第10章 測試與部署 211
10.1 測試工具 211
10.1.1 常規測試 211
10.1.2 分離測試代碼 214
10.1.3 應用事件測試 215
10.1.4 依賴項測試 216
10.1.5 測試數據庫 218
10.1.6 異步測試工具 219
10.2 部署程序 220
10.2.1 virtualenv和pip3 221
10.2.2 部署到Linux服務器 222
10.2.3 部署為后臺進程 223
10.2.4 使用代理服務 225
10.3 案例:三酷貓海鮮項目測試 226
10.4 習題及實驗 227
??
第2部分 實戰篇
第11章 核酸采集平臺:功能分析與設計 231
11.1 需求分析 231
11.2 系統設計 232
11.2.1 邏輯架構 232
11.2.2 技術架構 233
11.2.3 數據架構 234
11.3 任務分工 235
第12章 核酸采集平臺:后端項目 236
12.1 后端項目環境搭建 236
12.2 后端項目目錄結構 236
12.3 后端項目代碼實現 238
12.3.1 主文件 238
12.3.2 配置文件 239
12.3.3 數據庫引擎 239
12.3.4 登錄認證模塊 240
12.3.5 預約模塊 244
12.3.6 登記模塊 247
12.3.7 運行后端項目 250
12.4 后端項目部署 253
12.4.1 準備服務器環境 254
12.4.2 安裝數據庫環境 254
12.4.3 安裝Python環境 255
12.4.4 上傳項目文件 255
12.4.5 安裝第三方庫 255
12.4.6 部署為后臺進程 256
12.4.7 驗證部署環境 256
第13章 核酸采集平臺:前端項目 262
13.1 前端開發環境搭建 262
13.2 管理端項目目錄結構 262
13.3 管理端項目代碼實現 263
13.4 管理端項目運行與發布 270
13.5 移動端項目目錄結構 272
13.6 移動端項目代碼實現 273
13.7 移動端運行與發布 275
附錄A 在Win 10上安裝MySQL數據庫 277
附錄B Vue.js使用介紹 290
附錄C 附贈代碼清單 309
后記 314
展開全部

Python FastAPI Web開發從入門到項目實戰(視頻版) 節選

第1章 認識FastAPI在正式使用FastAPI框架編寫代碼前,需要讀者先了解一下Web的一些基礎知識。如果沒有接觸過這些基礎知識,則可以在網上搜索這些知識的關鍵字,如“HTML”,學習它的一些基本功能的使用,這樣更有利于本書后續的學習。對于Python語言的掌握是學習本書的前提條件。本章提供了FastAPI安裝、FastAPI框架構成等入門知識,為后續知識的學習提供基本條件。本書主要通過PyCharm代碼開發工具,進行代碼編寫和調試,所以先要安裝該工具,然后掌握該工具基本的使用功能。本章的主要內容為:(1)Web基礎知識;(2)初識FastAPI;(3)Hello三酷貓;(4)FastAPI框架構成;(5)PyCharm代碼編輯工具。本節為初學者提供學習FastAPI時需要了解的Web基礎知識,以方便后續學習,如果已經具備Web相關基礎知識,可以跳過本節,直接學習下節內容。1.1.1 Web簡介Web(World Wide Web,WWW)翻譯為中文叫全球廣域網或萬維網,俗稱網站(WebSite),它是一種基于超文本(Hyper text)、超媒體(Hyper media)、超文本傳輸協議(HTTP)建立在Internet上的分布式信息服務系統。普通用戶可通過瀏覽器的網址(WebSite Address)訪問對應網站。??1. 網站網站為訪問者提供各種各樣的欄目信息,這些信息在格式上包括了文本、圖片、視頻、聲音、動畫等。如圖1.1所示為新浪網站的主界面,為訪問者提供了各種各樣的欄目信息,如個人內容共享的微博、大量的廣告信息等。人們通過電腦上的瀏覽器(Browser),就可以輕松訪問該網站。作為本書的讀者,不是簡單地訪問一個網站,而是要深入了解網站的技術原理,掌握技術內容,從而學會自己構建網站。圖1.1 新浪網站(1)超文本。超文本主要指帶有超鏈接的、特定文本組織格式的電子文檔。如網頁在顯示相應格式內容的同時,可以內嵌其他網頁的鏈接,點一下就可以進入其他網頁。網頁的主要超文本格式使用了超文本標記語言(Hyper Text Markup Language,縮寫:HTML)。在新浪網站上隨意打開一個網頁,在其上點擊鼠標右鍵,選擇彈出菜單的“查看源代碼”選項,就可以看到相應的超文本格式代碼,如圖1.2所示。(2)超媒體。超媒體是超文本和多媒體在瀏覽器環境下的結合結果,為瀏覽的網頁提供了圖片、動畫、聲音、視頻等效果。實現過程就是把上述媒體文件,以超文本指定格式鏈接到網頁上并展現出來。(3)超文本傳輸協議。超文本傳輸協議是瀏覽器訪問網站的簡單的請求、響應協議。通過該協議,實現了從瀏覽器端發送訪問信息到網站,網站再把相應的網頁信息發送回瀏覽器端的信息傳輸過程。圖1.2 網頁上的HTML超文本代碼(部分)在瀏覽器里通過網址訪問網站,實質上是發送HTTP請求。HTTP分9種請求方式,如表1.1所示。表1.1 HTTP的9種請求方式序號 請求方式 功能說明1 GET 請求指定資源地址的網頁信息,并返回實體數據2 HEAD 與GET請求類似,返回的響應中沒有具體內容,用于獲取響應頭數據3 POST 向指定資源地址提交數據進行處理請求(如提交表單、上傳文件)4 PUT 向指定資源地址上傳數據內容(從瀏覽器端向服務器端傳送數據取代指定的文檔內容)5 DELETE 向指定資源地址發送刪除資源的請求6 CONNECT HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器7 OPTIONS 獲取服務器針對特定資源所支持的HTML請求方法8 TRACE 回復并顯示服務器收到的請求,用于測試和診斷9 PATCH 是對PUT方法的補充,用來對已知資源進行局部更新表1.1中*常用的請求方式為GET和POST。如在新浪網上點擊一個網頁上的鏈接,可以看作是一個GET請求方式的發生,它根據HTTP協議去網站獲取指定的數據(如另外一個帶數據的網頁),并把數據返回到瀏覽器上,通過網頁跳轉在新頁面上顯示出來。又如在新浪登錄頁面輸入用戶名、密碼后,將此數據提交給網站,這個提交開始的請求方式是POST。提交成功后返回成功狀態數據,并轉入登錄成功的新頁面。2. 網站的構成網站由一個個網頁(Web Page)構成。由此,程序員需要設計各種各樣的網頁,然后通過網站框架把它們組織起來,供不同的用戶使用。從程序員或網站管理員角度來看,網站分前端和后端。前端就是通過瀏覽器可以訪問的網頁功能和內容,主要供網站訪問者使用;后端就是信息發布管理系統,包括了登錄網站用戶信息的管理、使用功能權限的管理、欄目信息的編輯與發布、發布內容的統計、網站訪問量統計等。3. 因特網(Internet)Internet,也稱國際互聯網,其將全球各大洲主要網絡鏈接在一起,是提供信息共享與服務的世界上*大的信息資源網絡。Internet主要由通信鏈路、服務器、域名、路由設備、信息軟件(網站、瀏覽器、通訊社交軟件等)、個人終端組成,如圖1.3所示。圖1.3 Internet(1)通信鏈路包括有線鏈路、無線鏈路。有線鏈路包括國際跨洋海底光纜、國家骨干光纖通道、城市光纖通道、小區樓宇通信線路等;無線鏈路包括衛星通信鏈路、無線通訊發送站、家庭無線網絡等。這些都是保證數據順利傳輸的通信線路。(2)服務器是用于安裝網站等軟件系統的專用計算機,也是程序員把開發好的網站進行部署并運行的實際位置。同時服務器用來存儲海量的信息數據,包括各種文件、數據庫等。另外,DNS(Domain Name Server,域名服務器)服務器提供域名、IP地址轉換統一管理功能。(3)域名(Domain Name)又叫網域,是Internet上由一串用點分隔的名字組成的某一臺服務器或服務器組的名稱,用于在數據傳輸時對服務器的定位標識。其格式如下:www...如,新浪的域名為www.sina.com.cn,“www”代表萬維網,“sina”為用戶名,“com”為二級域名,“cn”為一級域名,它們之間用點號分隔。“com”用于工商金融企業,“cn”代表中國,為China的縮寫。由此,部署完成的網站要正式運行,必須先向域名服務商申請域名,并進行備案。(4)路由設備則為普通用戶通過瀏覽器訪問不同地方的服務器提供了網址尋址、轉發數據的功能。(5)信息軟件,在本書中就是指網站。(6)個人終端主要包括了臺式電腦及瀏覽器、手機終端及瀏覽器、平板電腦及瀏覽器等。 ·········

Python FastAPI Web開發從入門到項目實戰(視頻版) 作者簡介

劉瑜,高級信息系統項目管理師,具有20多年C、ASP、BASIC、FoxBASE、Delphi、Java、C#、Python等編程經驗,軟件工程碩士、碩士企業導師、大數據重點實驗室主任。開發過商業項目20余套,承擔省部級千萬級別項目5個,發表國內外論文10余篇。出版了《戰神——軟件項目管理深度實戰》《NoSQL數據庫入門與實踐》《Python編程從零基礎到項目實戰》《Python編程從數據分析到機器學習實踐》《算法之美——Python語言實現(微課視頻版)》《Python Django Web從入門到項目實戰》。 安義,系統架構師,部門經理,具有20多年軟件開發經驗,主導過多個行業(醫療、教育、互聯網、地產、游戲、汽車、餐飲等)的軟件系統開發工作。熟悉多種開發語言和開發框架,具有豐富的軟件實戰經驗。曾是騰訊公司負責袋鼠跳跳應用的研發負責人,目前為“三酷貓”團隊的軟件技術總監。《Python Django Web從入門到項目實戰》第二作者。 陳逸懷,溫州城市大學教師教學發展中心主任、高級講師,天津職業技術師范大學教育學博士研究生(自動化教育方向)、碩士生合作導師,軟件設計師、技師,中國計算機學會會員,中國創客教育協會理事,溫州市計算機學會理事,國家一類職業技能大賽裁判,青少年機器人大賽國家二級裁判,國家職業鑒定高級考評員。主編、副主編相關教材十本,主持并參與廳局級以上課題十余項,發表相關論文十余篇。 喻小菲,專職軟件高級工程師,10余年軟件項目開發經驗,FastAPI專業技術群群主,承擔過物聯網、游戲、網絡安全等10多個商業項目。主要從事Python Web方向的開發工作,對FastAPI、Sanic、Django、Flask等網絡框架均有研究,始終追蹤Python開發*前沿的發展方向,具有豐富的Python Web開發經驗。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網
在線客服
主站蜘蛛池模板: Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 自动气象站_气象站监测设备_全自动气象站设备_雨量监测站-山东风途物联网 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | TMT观察网_独特视角观察TMT行业| 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 诸城网站建设-网络推广-网站优化-阿里巴巴托管-诸城恒泰互联 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 房间温控器|LonWorks|海思 | 雪花制冰机(实验室雪花制冰机)百科 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 市政路灯_厂家-淄博信达电力科技有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] |