《Python Web開發(fā)手冊:基礎(chǔ)·實(shí)戰(zhàn)·強(qiáng)化》是“計(jì)算機(jī)科學(xué)與技術(shù)手冊系列”圖書之一,該系列圖書內(nèi)容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫方法和具體應(yīng)用項(xiàng)目。旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。 本書以Python語言為載體講解Web開發(fā),分為4篇...
《Python Web開發(fā)手冊:基礎(chǔ)·實(shí)戰(zhàn)·強(qiáng)化》是“計(jì)算機(jī)科學(xué)與技術(shù)手冊系列”圖書之一,該系列圖書內(nèi)容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫方法和具體應(yīng)用項(xiàng)目。旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。 本書以Python語言為載體講解Web開發(fā),分為4篇,分別是:Web基礎(chǔ)篇、Flask框架實(shí)戰(zhàn)篇、Django框架實(shí)戰(zhàn)篇和項(xiàng)目強(qiáng)化篇,共30章,內(nèi)容由淺入深,循序漸進(jìn),使讀者在打好基礎(chǔ)的同時(shí)逐步提升。本書內(nèi)容包含了Web開發(fā)必備的基礎(chǔ)知識和數(shù)據(jù)庫相關(guān)知識,以較大篇幅講解了目前應(yīng)用較廣的兩個(gè)框架(Flask和Django)和相應(yīng)的14個(gè)關(guān)鍵案例,同時(shí)配備了兩個(gè)大型項(xiàng)目,使讀者能夠同步做出產(chǎn)品,達(dá)到學(xué)到并且做到的目的。 本書適合Python Web開發(fā)從業(yè)者、Python開發(fā)程序員、Python開發(fā)以及人工智能的愛好者閱讀,也可供高校計(jì)算機(jī)相關(guān)專業(yè)師生參考。
明日科技是一家以軟件開發(fā)和教育為主的高科技公司,為國家高新技術(shù)企業(yè)和雙軟認(rèn)證企業(yè)。開發(fā)的系統(tǒng)有鐵路多媒體查詢系統(tǒng)、長春電子地圖、天氣預(yù)報(bào)系統(tǒng)、礦山瓦斯報(bào)警系統(tǒng)等軟件產(chǎn)品。開發(fā)的圖書有《程序開發(fā)范例寶典》、《軟件開發(fā)視頻大講堂》、《軟件開發(fā)1200例》、《零基礎(chǔ)學(xué)系列》、《項(xiàng)目開發(fā)實(shí)戰(zhàn)入門》等多個(gè)系列圖書,多個(gè)品種榮獲“全行業(yè)**暢銷書”獎(jiǎng)項(xiàng),《軟件開發(fā)視頻大講堂》、《零基礎(chǔ)學(xué)系列》系列是目前市場上暢銷的專業(yè)基礎(chǔ)編程類叢書。
從工業(yè)4.0到“十四五”規(guī)劃,我國信息時(shí)代正式踏上新的階梯,電子設(shè)備已經(jīng)普及,在人們的日常生活中隨處可見。信息社會(huì)給人們帶來了極大的便利,信息捕獲、信息處理分析等在各個(gè)行業(yè)得到普遍應(yīng)用,推動(dòng)整個(gè)社會(huì)向前穩(wěn)固發(fā)展。 計(jì)算機(jī)設(shè)備和信息數(shù)據(jù)的相互融合,對各個(gè)行業(yè)來說都是一次非常大的進(jìn)步,已經(jīng)滲入到工業(yè)、農(nóng)業(yè)、商業(yè)、軍事等領(lǐng)域,同時(shí)其相關(guān)應(yīng)用產(chǎn)業(yè)也得到一定發(fā)展。就目前來看,各類編程語言的發(fā)展、人工智能相關(guān)算法的應(yīng)用、大數(shù)據(jù)時(shí)代的數(shù)據(jù)處理和分析都是計(jì)算機(jī)科學(xué)領(lǐng)域各大高校、各個(gè)企業(yè)在不斷攻關(guān)的難題,是挑戰(zhàn)也是機(jī)遇。因此,我們策劃編寫了“計(jì)算機(jī)科學(xué)與技術(shù)手冊系列”圖書,旨在為想要進(jìn)入相應(yīng)領(lǐng)域的初學(xué)者或者已經(jīng)在該領(lǐng)域深耕多年的從業(yè)者提供新而全的技術(shù)性內(nèi)容,以及豐富、典型的實(shí)戰(zhàn)案例。 目前,國內(nèi)各大企業(yè)對Python人才的需求急劇上升,薪資水平也節(jié)節(jié)攀升,就業(yè)前景極其廣闊。迄今為止,業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如:豆瓣、知乎、百度、騰訊、拉勾網(wǎng)、美團(tuán)、YouTube、Facebook、Google和Yahoo等。很多知名的企業(yè)網(wǎng)站都是使用Python的Web框架進(jìn)行開發(fā)的,因此熟練掌握Web框架對于Python語言的學(xué)習(xí)者來說也極其重要。 本書內(nèi)容 全書共分為30章,主要通過“Web基礎(chǔ)篇(3章)+ Flask框架實(shí)戰(zhàn)篇(12章)+Django框架實(shí)戰(zhàn)篇(12章) + 項(xiàng)目強(qiáng)化篇(3章)”4大維度一體化進(jìn)行講解,具體的知識結(jié)構(gòu)如下圖所示。 本書中主要介紹了進(jìn)行Web開發(fā)的兩大常用框架Flask和Django框架。讀者可以根據(jù)需要選擇性學(xué)習(xí)。 本書特色 1.突出重點(diǎn)、學(xué)以致用 書中每個(gè)知識點(diǎn)都結(jié)合了簡單易懂的示例代碼以及非常詳細(xì)的注釋信息,力求能夠讓讀者快速理解所學(xué)知識,提高學(xué)習(xí)效率,縮短學(xué)習(xí)路徑。 2.提升思維、綜合運(yùn)用 本書以知識點(diǎn)綜合運(yùn)用的方式,帶領(lǐng)讀者學(xué)習(xí)各種趣味性較強(qiáng)的Python Web開發(fā)案例,讓讀者不斷開拓Python Web開發(fā)思維,還可以快速提高對知識點(diǎn)的綜合運(yùn)用能力,讓讀者能夠回顧以往所學(xué)的知識點(diǎn),并結(jié)合新的知識點(diǎn)進(jìn)行綜合應(yīng)用。 3.綜合技術(shù)、實(shí)際項(xiàng)目 本書在項(xiàng)目強(qiáng)化篇中提供了兩個(gè)貼近生活應(yīng)用的項(xiàng)目,力求通過實(shí)際應(yīng)用使讀者更容易地掌握Python Web開發(fā)的流程。Python Web開發(fā)都是根據(jù)實(shí)際開發(fā)經(jīng)驗(yàn)總結(jié)而來,包含了在實(shí)際開發(fā)中所遇到的各種問題。項(xiàng)目結(jié)構(gòu)清晰、擴(kuò)展性強(qiáng),讀者可根據(jù)個(gè)人需求進(jìn)行擴(kuò)展開發(fā)。 4.精彩欄目、貼心提示 本書根據(jù)實(shí)際學(xué)習(xí)的需要,設(shè)置了“注意”“說明”等許多貼心的小欄目,輔助讀者輕松理解所學(xué)知識,規(guī)避編程陷阱。 本書由明日科技的Python開發(fā)團(tuán)隊(duì)策劃并組織編寫,主要編寫人員有李再天、王國輝、高春艷、李磊、馮春龍、王小科、賽奎春、申小琦、趙寧、張鑫、周佳星、楊柳、葛忠月、李春林、宋萬勇、張寶華、楊麗、劉媛媛、龐鳳、胡冬、梁英、譚暢、何平、李菁菁、依瑩瑩、宋磊等。在編寫本書的過程中,我們本著科學(xué)、嚴(yán)謹(jǐn)?shù)膽B(tài)度,力求精益求精,但疏漏之處在所難免,敬請廣大讀者批評指正。 感謝您閱讀本書,希望本書能成為您編程路上的領(lǐng)航者。 祝您讀書快樂! 編著者
第1篇 Web基礎(chǔ)篇 第1章 Web基礎(chǔ) 1.1 Web概述 3 1.1.1 Web的發(fā)展歷程 3 1.1.2 Web程序工作原理 4 1.2 Web框架簡介 5 1.2.1 ORM簡介 5 1.2.2 模板引擎 5 1.3 常用的Python Web框架 6 1.3.1 Flask 6 1.3.2 Django 6 1.3.3 Tornado 6 1.4 搭建Web開發(fā)環(huán)境 6 1.4.1 創(chuàng)建虛擬環(huán)境 6 1.4.2 pip包管理工具 7 1.4.3 切換鏡像源 9 第2章 前端基礎(chǔ) 2.1 HTML基礎(chǔ) 12 2.1.1 HTML簡介 12 【實(shí)例2.1】第一個(gè)HTML頁面 12 2.1.2 標(biāo)簽和元素 13 2.1.3 表單 15 2.2 CSS基礎(chǔ) 18 2.2.1 基礎(chǔ)知識 18 2.2.2 嵌入CSS樣式 19 【實(shí)例2.2】添加CSS樣式 19 【實(shí)例2.3】使用外部樣式表 21 2.3 JavaScript基礎(chǔ) 21 2.3.1 基本語法 21 2.3.2 使用JavaScript 23 【實(shí)例2.4】彈出對話框 23 【實(shí)例2.5】使用外部JavaScript文件方式修改實(shí)例2.4 24 2.4 jQuery基礎(chǔ) 24 2.4.1 使用jQuery 25 2.4.2 基本語法 25 2.4.3 選擇器 26 【實(shí)例2.6】隱藏標(biāo)簽 26 2.4.4 觸發(fā)事件 28 2.4.5 內(nèi)容和屬性 29 【實(shí)例2.7】檢測用戶填寫的用戶名和密碼是否符合要求 29 2.5 Bootstrap框架 31 2.5.1 安裝Bootstrap 31 2.5.2 基本使用 32 【實(shí)例2.8】創(chuàng)建一個(gè)全屏幕宣傳頁面 32 2.6 綜合案例——導(dǎo)航欄菜單 33 2.7 實(shí)戰(zhàn)練習(xí) 34 第3章 MySQL的使用 3.1 MySQL的安裝及配置 36 3.1.1 MySQL簡介 36 3.1.2 安裝MySQL 36 3.1.3 配置MySQL 37 3.2 庫的相關(guān)操作 38 3.2.1 創(chuàng)建數(shù)據(jù)庫 38 3.2.2 查看數(shù)據(jù)庫 39 3.2.3 刪除數(shù)據(jù)庫 39 3.3 表的相關(guān)操作 40 3.3.1 創(chuàng)建數(shù)據(jù)表 40 3.3.2 查看數(shù)據(jù)表 41 3.3.3 修改表結(jié)構(gòu) 42 3.3.4 刪除數(shù)據(jù)表 42 3.4 數(shù)據(jù)類型 43 3.4.1 數(shù)字類型 43 3.4.2 字符串類型 44 3.4.3 日期和時(shí)間類型 45 3.5 數(shù)據(jù)的增查改刪 45 3.5.1 增加數(shù)據(jù) 45 3.5.2 查詢數(shù)據(jù) 46 3.5.3 修改數(shù)據(jù) 49 3.5.4 刪除數(shù)據(jù) 49 3.6 PyMySQL操作數(shù)據(jù)庫 50 3.6.1 安裝PyMySQL 50 3.6.2 連接數(shù)據(jù)庫 50 3.6.3 游標(biāo)對象 51 【實(shí)例3.1】向mrsoft數(shù)據(jù)庫中添加books圖書表 52 3.6.4 操作數(shù)據(jù)庫 53 【實(shí)例3.2】向books圖書表中添加圖書數(shù)據(jù) 53 3.7 ORM模型 54 3.7.1 ORM簡介 54 3.7.2 常用的ORM庫 55 3.8 綜合案例——從數(shù)據(jù)庫查詢并篩選數(shù)據(jù) 55 3.8.1 設(shè)計(jì)SQL 55 3.8.2 實(shí)現(xiàn)過程 55 3.9 實(shí)戰(zhàn)練習(xí) 56 第2篇 Flask框架實(shí)戰(zhàn)篇 第4章 Flask快速應(yīng)用 4.1 Flask基礎(chǔ) 59 4.1.1 Flask簡介 59 4.1.2 安裝Flask 59 4.2 使用Flask輸出Hello World!/?60 4.2.1 第一個(gè)Flask程序 60 【實(shí)例4.1】輸出Hello World! 60 4.2.2 開啟debug 60 4.3 路由 61 4.3.1 變量規(guī)則 61 【實(shí)例4.2】根據(jù)不同的用戶名參數(shù),輸出相應(yīng)的用戶信息 61 4.3.2 構(gòu)造URL 62 4.3.3 HTTP 方法 62 4.3.4 靜態(tài)文件 63 4.4 綜合案例——模擬登錄 63 4.5 實(shí)戰(zhàn)練習(xí) 64 第5章 Flask的請求與響應(yīng) 5.1 請求參數(shù) 66 5.1.1 GET請求 66 【實(shí)例5.1】獲取GET請求參數(shù) 66 5.1.2 POST請求 67 【實(shí)例5.2】獲取表單提交信息 67 5.2 文件上傳 68 【實(shí)例5.3】實(shí)現(xiàn)上傳用戶圖片功能 68 5.3 鉤子函數(shù)的應(yīng)用 70 【實(shí)例5.4】使用請求鉤子,在執(zhí)行視圖函數(shù)前后執(zhí)行相應(yīng)的函數(shù) 71 5.4 接收響應(yīng) 72 5.5 響應(yīng)的格式 72 5.5.1 MIME類型 72 5.5.2 JSON數(shù)據(jù) 73 5.6 Flask會(huì)話 73 5.6.1 Cookie對象 74 【實(shí)例5.5】使用Cookie判斷用戶是否登錄 74 5.6.2 Session對象 76 5.7 綜合案例——用戶登錄 77 5.8 實(shí)戰(zhàn)練習(xí) 77 第6章 Jinja2模板引擎 6.1 Flask使用Jinja2模板引擎 80 6.1.1 Jinja2簡介 80 6.1.2 渲染模板 80 【實(shí)例6.1】渲染首頁模板 80 6.2 模板中傳遞參數(shù) 82 6.3 模板的控制語句 83 6.3.1 if語句 83 6.3.2 for語句 83 6.3.3 模板上下文 83 【實(shí)例6.2】使用Session判斷用戶是否登錄 84 6.4 Jinja2的過濾器 85 6.4.1 常用的過濾器 85 6.4.2 自定義過濾器 85 【實(shí)例6.3】Flask應(yīng)用對象的add_template_filter方法定義過濾器 85 【實(shí)例6.4】使用app.template_filter()裝飾器定義過濾器 86 6.5 宏的應(yīng)用 87 6.5.1 宏的定義 87 6.5.2 宏的導(dǎo)入 87 6.5.3 include的使用 87 6.6 模板的繼承 87 【實(shí)例6.5】使用子模板繼承父模板 88 6.7 提示信息 90 【實(shí)例6.6】使用flash閃現(xiàn)用戶登錄成功或失敗的消息 90 6.8 綜合案例——自定義錯(cuò)誤頁面 91 6.8.1 需求分析 92 6.8.2 實(shí)現(xiàn)過程 92 6.9 實(shí)戰(zhàn)練習(xí) 93 第7章 Flask視圖與藍(lán)圖 7.1 綁定視圖函數(shù) 95 7.1.1 使用app.route 95 7.1.2 使用add_url_rule 95 7.2 類視圖 96 7.2.1 標(biāo)準(zhǔn)類視圖 96 7.2.2 基于調(diào)度方法的類視圖 98 7.3 裝飾器 99 7.3.1 裝飾器的定義 99 7.3.2 基本應(yīng)用 99 7.3.3 帶參函數(shù)使用裝飾器 101 7.4 藍(lán)圖 102 7.4.1 簡介 103 7.4.2 使用藍(lán)圖 103 【實(shí)例7.1】使用藍(lán)圖創(chuàng)建前臺和后臺應(yīng)用 103 7.5 表單 104 7.5.1 CSRF 104 7.5.2 表單類 105 7.6 綜合案例——驗(yàn)證用戶登錄 106 7.7 實(shí)戰(zhàn)練習(xí) 108 第8章 Flask操作數(shù)據(jù)庫 8.1 常用擴(kuò)展 110 8.1.1 Flask-SQLAlchemy擴(kuò)展 110 8.1.2 Flask-Migrate擴(kuò)展 112 8.1.3 Flask-Script擴(kuò)展 114 8.2 管理數(shù)據(jù)庫 117 8.2.1 連接數(shù)據(jù)庫 117 8.2.2 定義數(shù)據(jù)模型 118 8.2.3 定義關(guān)系 119 8.3 增查改刪 121 8.3.1 創(chuàng)建數(shù)據(jù) 121 8.3.2 讀取數(shù)據(jù) 121 8.3.3 更新數(shù)據(jù) 123 8.3.4 刪除數(shù)據(jù) 123 8.4 綜合案例——?jiǎng)?chuàng)建數(shù)據(jù)表 123 8.4.1 案例說明 123 8.4.2 實(shí)現(xiàn)案例 123 8.5 實(shí)戰(zhàn)練習(xí) 125 第9章 【案例】Flask_SQLAlchemy篩選網(wǎng)易云免費(fèi)課程 9.1 案例效果預(yù)覽 126 9.2 案例準(zhǔn)備 127 9.3 業(yè)務(wù)流程 127 9.4 實(shí)現(xiàn)過程 127 9.4.1 創(chuàng)建數(shù)據(jù)表 128 9.4.2 設(shè)置過濾器 129 9.5 關(guān)鍵技術(shù) 132 第10章 【案例】Splitlines解析數(shù)據(jù)庫文本中的換行內(nèi)容 10.1 案例效果預(yù)覽 134 10.2 案例準(zhǔn)備 134 10.3 業(yè)務(wù)流程 135 10.4 實(shí)現(xiàn)過程 135 10.4.1 項(xiàng)目結(jié)構(gòu) 135 10.4.2 安裝模塊 135 10.4.3 連接數(shù)據(jù)庫 135 10.4.4 業(yè)務(wù)邏輯 136 10.4.5 創(chuàng)建父模板 136 10.4.6 創(chuàng)建詳情文件 137 10.5 關(guān)鍵技術(shù) 138 第11章 【案例】Flask_Login用戶登錄校驗(yàn) 11.1 案例效果預(yù)覽 139 11.2 案例準(zhǔn)備 140 11.3 業(yè)務(wù)流程 140 11.4 實(shí)現(xiàn)過程 140 11.4.1 登錄與權(quán)限校驗(yàn) 140 11.4.2 更改密碼 145 11.4.3 登錄成功后的處理 148 11.5 關(guān)鍵技術(shù) 150 第12章 【案例】ECharts顯示折線圖 12.1 案例效果預(yù)覽 153 12.2 案例準(zhǔn)備 153 12.3 業(yè)務(wù)流程 154 12.4 實(shí)現(xiàn)過程 154 12.4.1 安裝依賴 154 12.4.2 連接數(shù)據(jù)庫 154 12.4.3 業(yè)務(wù)邏輯 155 12.4.4 渲染頁面 155 12.5 關(guān)鍵技術(shù) 160 第13章 【案例】員工信息審核 13.1 案例效果預(yù)覽 161 13.2 案例準(zhǔn)備 162 13.3 業(yè)務(wù)流程 162 13.4 實(shí)現(xiàn)過程 162 13.5 關(guān)鍵技術(shù) 166 第14章 【案例】網(wǎng)頁底部Tab欄設(shè)計(jì) 14.1 案例效果預(yù)覽 167 14.2 案例準(zhǔn)備 167 14.3 業(yè)務(wù)流程 168 14.4 實(shí)現(xiàn)過程 168 14.4.1 設(shè)置路由 168 14.4.2 創(chuàng)建父模板 168 14.4.3 繼承父模板 169 14.5 關(guān)鍵技術(shù) 170 第15章 【案例】多條件查詢的使用 15.1 案例效果預(yù)覽 171 15.2 案例準(zhǔn)備 172 15.3 業(yè)務(wù)流程 172 15.4 實(shí)現(xiàn)過程 172 15.4.1 概述 172 15.4.2 篩選酒店信息 173 15.4.3 學(xué)生選課系統(tǒng) 175 15.5 關(guān)鍵技術(shù) 176 第3篇 Django框架實(shí)戰(zhàn)篇 第16章 Django快速應(yīng)用 16.1 使用Django框架 179 16.1.1 新版本特性 179 16.1.2 安裝Django 179 16.2 第一個(gè)Django項(xiàng)目 179 【實(shí)例16.1】使用命令行創(chuàng)建項(xiàng)目 179 16.3 創(chuàng)建Django應(yīng)用 180 16.4 URL組成部分 182 16.5 路由 182 16.5.1 路由形式 182 【實(shí)例16.2】定義路由并創(chuàng)建路由函數(shù) 183 16.5.2 include的使用 184 16.6 管理后臺 185 16.7 綜合案例——Hello Django 187 16.8 實(shí)戰(zhàn)練習(xí) 189 第17章 Django模板引擎 17.1 DTL介紹 191 17.1.1 DTL簡介 191 17.1.2 渲染模板 191 【實(shí)例17.1】創(chuàng)建并渲染模板 191 17.1.3 模板路徑 193 17.2 模板變量 193 17.3 常用標(biāo)簽 194 17.4 過濾器 197 17.4.1 常用過濾器 197 17.4.2 自定義過濾器 199 17.5 簡化模板 200 17.5.1 引入模板 200 17.5.2 繼承模板 201 17.6 加載靜態(tài)文件 202 17.7 綜合案例——時(shí)間過濾器 202 17.8 實(shí)戰(zhàn)練習(xí) 204 第18章 Django視圖與表單 18.1 視圖簡介 206 18.1.1 視圖函數(shù) 206 【實(shí)例18.1】創(chuàng)建獲取當(dāng)前日期的視圖函數(shù) 206 18.1.2 視圖類 206 18.2 請求裝飾器 210 18.3 請求與響應(yīng) 210 18.3.1 請求對象 211 18.3.2 響應(yīng)對象 211 18.4 重定向 212 18.5 自定義錯(cuò)誤頁面 213 18.6 使用表單 214 18.6.1 表單的基本使用 214 18.6.2 驗(yàn)證數(shù)據(jù) 215 18.7 ModelForm 217 18.7.1 使用方法 217 18.7.2 字段類型 219 18.7.3 表單驗(yàn)證 220 18.7.4 save()方法 221 18.7.5 字段選擇 222 18.8 文件上傳 222 18.9 綜合案例——用戶注冊 224 18.10 實(shí)戰(zhàn)練習(xí) 226 第19章 Django模型與數(shù)據(jù)庫 19.1 數(shù)據(jù)庫操作 228 19.2 ORM模型 228 19.2.1 添加數(shù)據(jù)模型 229 19.2.2 數(shù)據(jù)遷移 230 19.2.3 數(shù)據(jù)API 231 19.3 多關(guān)聯(lián)模型 233 19.3.1 一對一 233 19.3.2 多對一 235 19.3.3 多對多 238 19.4 定制管理后臺 241 19.4.1 ModelAdmin.fields 241 19.4.2 ModelAdmin.fieldset 242 19.4.3 ModelAdmin.list_display 244 19.4.4 ModelAdmin.list_display_links 246 19.4.5 ModelAdmin.list_editable 246 19.4.6 ModelAdmin.list_filter 247 19.5 綜合案例——使用模型操作數(shù)據(jù)庫 250 19.6 實(shí)戰(zhàn)練習(xí) 252 第20章 Django緩存 20.1 Session會(huì)話 254 20.1.1 啟用會(huì)話 254 20.1.2 配置會(huì)話引擎 254 20.1.3 常用方法 255 20.1.4 自動(dòng)登錄 256 【實(shí)例20.1】使用會(huì)話實(shí)現(xiàn)登錄功能 256 20.1.5 退出登錄 259 20.2 Memcached緩存系統(tǒng) 259 20.3 Redis數(shù)據(jù)庫 261 20.4 用戶權(quán)限 263 20.4.1 用戶對象 264 20.4.2 權(quán)限和分組 266 20.5 綜合案例——登錄驗(yàn)證 268 20.6 實(shí)戰(zhàn)練習(xí) 268 第21章 【案例】Celery異步發(fā)送驗(yàn)證郵件 21.1 案例效果預(yù)覽 269 21.2 案例準(zhǔn)備 269 21.3 業(yè)務(wù)流程 270 21.4 實(shí)現(xiàn)過程 270 21.4.1 數(shù)據(jù)遷移 270 21.4.2 郵箱配置 271 21.4.3 設(shè)置路由 272 21.4.4 前端頁面 272 21.4.5 業(yè)務(wù)邏輯 273 21.4.6 異步任務(wù) 274 21.4.7 啟動(dòng)項(xiàng)目 275 21.5 關(guān)鍵技術(shù) 275 第22章 【案例】自定義Admin命令 22.1 案例效果預(yù)覽 276 22.2 案例準(zhǔn)備 276 22.3 業(yè)務(wù)流程 277 22.4 實(shí)現(xiàn)過程 277 22.4.1 定義命令 277 22.4.2 項(xiàng)目日志 278 22.5 關(guān)鍵技術(shù) 281 第23章 【案例】Channels實(shí)現(xiàn)Web Socket聊天室 23.1 案例效果預(yù)覽 282 23.2 案例準(zhǔn)備 283 23.3 業(yè)務(wù)流程 283 23.4 實(shí)現(xiàn)過程 283 23.4.1 安裝Channels 283 23.4.2 創(chuàng)建APP 284 23.4.3 配置模板 284 23.4.4 添加路由 285 23.4.5 配置Channels路由 285 23.4.6 完成WebSocket 287 23.4.7 升級為異步執(zhí)行 287 23.5 關(guān)鍵技術(shù) 290 第24章 【案例】Paginator實(shí)現(xiàn)數(shù)據(jù)分頁 24.1 案例效果預(yù)覽 291 24.2 案例準(zhǔn)備 291 24.3 業(yè)務(wù)流程 292 24.4 實(shí)現(xiàn)過程 292 24.4.1 添加路由 292 24.4.2 分頁邏輯 292 24.4.3 渲染模板 293 24.4.4 運(yùn)行程序 294 24.5 關(guān)鍵技術(shù) 294 第25章 【案例】Ajax多級下拉框聯(lián)動(dòng) 25.1 案例效果預(yù)覽 296 25.2 案例準(zhǔn)備 296 25.3 業(yè)務(wù)流程 296 25.4 實(shí)現(xiàn)過程 297 25.4.1 匹配路由 297 25.4.2 添加模板 297 25.4.3 業(yè)務(wù)邏輯 298 25.4.4 關(guān)閉CSRF防護(hù) 298 25.5 關(guān)鍵技術(shù) 299 第26章 【案例】Haystack站內(nèi)全局搜索引擎 26.1 案例效果預(yù)覽 301 26.2 案例準(zhǔn)備 301 26.3 業(yè)務(wù)流程 302 26.4 實(shí)現(xiàn)過程 302 26.4.1 準(zhǔn)備環(huán)境 302 26.4.2 注冊模塊 302 26.4.3 配置搜索引擎 303 26.4.4 業(yè)務(wù)邏輯 304 26.4.5 渲染模板 304 26.5 關(guān)鍵技術(shù) 306 第27章 【案例】Message消息提示 27.1 案例效果預(yù)覽 307 27.2 案例準(zhǔn)備 307 27.3 業(yè)務(wù)流程 307 27.4 實(shí)現(xiàn)過程 308 27.4.1 配置文件 308 27.4.2 消息引擎 309 27.4.3 添加路由 309 27.4.4 業(yè)務(wù)邏輯 309 27.4.5 渲染模板 310 27.5 關(guān)鍵技術(shù) 311 第4篇 項(xiàng)目強(qiáng)化篇 第28章 基于Flask框架的51商城 28.1 系統(tǒng)需求分析 314 28.2 系統(tǒng)功能設(shè)計(jì) 314 28.2.1 系統(tǒng)功能結(jié)構(gòu) 314 28.2.2 系統(tǒng)業(yè)務(wù)流程 314 28.2.3 系統(tǒng)預(yù)覽 315 28.3 系統(tǒng)開發(fā)必備 319 28.3.1 系統(tǒng)開發(fā)環(huán)境 319 28.3.2 文件夾組織結(jié)構(gòu) 319 28.4 數(shù)據(jù)庫設(shè)計(jì) 320 28.4.1 數(shù)據(jù)庫概要說明 320 28.4.2 數(shù)據(jù)表模型 320 28.4.3 數(shù)據(jù)表關(guān)系 322 28.5 會(huì)員注冊模塊設(shè)計(jì) 323 28.5.1 會(huì)員注冊模塊概述 323 28.5.2 會(huì)員注冊頁面 323 28.5.3 驗(yàn)證并保存注冊信息 327 28.6 會(huì)員登錄模塊設(shè)計(jì) 328 28.6.1 會(huì)員登錄模塊概述 328 28.6.2 創(chuàng)建會(huì)員登錄頁面 328 28.6.3 保存會(huì)員登錄狀態(tài) 331 28.6.4 會(huì)員退出功能 331 28.7 首頁模塊設(shè)計(jì) 332 28.7.1 首頁模塊概述 332 28.7.2 顯示最新上架商品 333 28.7.3 顯示打折商品 334 28.7.4 顯示熱門商品 335 28.8 購物車模塊 336 28.8.1 購物車模塊概述 336 28.8.2 顯示商品詳細(xì)信息 336 28.8.3 添加購物車 338 28.8.4 查看購物車 339 28.8.5 保存訂單 340 28.8.6 查看訂單 341 28.9 后臺功能模塊設(shè)計(jì) 341 28.9.1 后臺登錄模塊設(shè)計(jì) 341 28.9.2 商品管理模塊設(shè)計(jì) 342 28.9.3 銷量排行榜模塊設(shè)計(jì) 343 28.9.4 會(huì)員管理模塊設(shè)計(jì) 343 28.9.5 訂單管理模塊設(shè)計(jì) 344 第29章 基于Django框架的綜藝之家管理系統(tǒng) 29.1 系統(tǒng)需求分析 346 29.1.1 系統(tǒng)概述 346 29.1.2 系統(tǒng)可行性分析 346 29.1.3 系統(tǒng)用戶角色分配 346 29.1.4 功能性需求分析 347 29.1.5 非功能性需求分析 347 29.2 系統(tǒng)功能設(shè)計(jì) 347 29.2.1 系統(tǒng)功能結(jié)構(gòu) 347 29.2.2 系統(tǒng)業(yè)務(wù)流程 347 29.2.3 系統(tǒng)預(yù)覽 348 29.3 系統(tǒng)開發(fā)必備 349 29.3.1 系統(tǒng)開發(fā)環(huán)境 349 29.3.2 文件夾組織結(jié)構(gòu) 350 29.4 數(shù)據(jù)庫設(shè)計(jì) 350 29.4.1 數(shù)據(jù)庫概要說明 350 29.4.2 數(shù)據(jù)表模型 350 29.4.3 數(shù)據(jù)表關(guān)系 352 29.5 綜藝管理模塊設(shè)計(jì) 352 29.5.1 實(shí)現(xiàn)后臺錄入綜藝信息和綜藝視頻的功能 353 29.5.2 前臺首頁功能 354 29.5.3 綜藝詳情頁功能 356 29.6 搜索功能模塊設(shè)計(jì) 359 29.7 分類功能模塊設(shè)計(jì) 361 29.8 社交管理模塊設(shè)計(jì) 364 29.8.1 安裝django-spirit模塊 364 29.8.2 發(fā)帖和回帖功能 365 29.8.3 論壇管理后臺功能 366 29.9 可視化展示模塊設(shè)計(jì) 367 29.9.1 ECharts開源可視化圖表庫基本使用 367 29.9.2 AJAX異步加載圖表數(shù)據(jù) 369 第30章 Web項(xiàng)目部署 30.1 常見的部署方式 374 30.1.1 WSGI 374 30.1.2 Gunicorn 374 30.1.3 Nginx 374 30.1.4 supervisor 375 30.2 云服務(wù)器配置 375 30.2.1 常用的云服務(wù)器 375 30.2.2 pip包管理工具 377 30.2.3 虛擬環(huán)境 378 30.3 使用Gunicorn 379 30.3.1 使用參數(shù)啟動(dòng)Gunicorn 379 30.3.2 加載配置文件啟動(dòng)Gunicorn 381 30.4 使用Nginx 381 30.4.1 安裝Nginx 381 30.4.2 Nginx的啟停 382 30.4.3 配置文件 382 30.4.4 靜態(tài)文件 383 30.4.5 代理服務(wù)器 383 30.5 使用supervisor 384 30.5.1 配置文件 385 30.5.2 常用命令 386 30.5.3 啟動(dòng)程序 386 附錄 附錄1 Flask框架常用類和函數(shù) 388 附錄2 Flask框架請求對象提供的常用屬性或方法 388 附錄3 Flask框架響應(yīng)對象提供的屬性或方法 389 附錄4 Flask框架常用擴(kuò)展 389 附錄5 Django框架常用命令 389 附錄6 Django框架setting.py常用配置 390 附錄7 Django框架ORM常用API 390
ISBN:978-7-122-40123-6
語種:漢文
開本:16
出版時(shí)間:2022-02-01
裝幀:平
頁數(shù):391