Django Web開發從入門到實戰( 簡體 字) | |
作者:孟令菊 | 類別:1. -> 程式設計 -> Python |
出版社:清華大學出版社 | 3dWoo書號: 54789 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:6/1/2021 | |
頁數:376 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302575290 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章初步認識Django 1
1.1DjangoWeb開發基礎 2 1.1.1Web開發和Web框架介紹 2 1.1.2Django框架介紹 3 1.1.3Django框架的特點 4 1.2Django的設計模式 4 1.2.1MVC設計模式介紹 4 1.2.2MTV設計模式介紹 5 1.3搭建Django開發環境 6 1.3.1搭建Python環境 6 1.3.2搭建Django環境 8 1.3.3常用的Django命令 9 1.4實現第一個DjangoWeb項目 11 1.4.1實戰演練:使用Django命令創建DjangoWeb項目 11 1.4.2實戰演練:使用PyCharm創建DjangoWeb項目 14 第2章分析Django項目的結構 19 2.1實戰演練:在線投票系統 20 2.2編寫第一個視圖 20 2.3實現數據庫 22 2.3.1配置數據庫 22 2.3.2創建數據庫模型 23 2.3.3啟用模型 24 2.3.4使用模型的API 26 2.4使用admin后臺管理Web 29 2.4.1創建管理員用戶 30 2.4.2啟動Web項目 30 2.4.3進入admin站點 31 2.4.4在admin中注冊投票應用 31 2.4.5體驗便捷的管理功能 31 2.5視圖和模板 33 2.5.1編寫視圖 33 2.5.2編寫一個真正有用的視圖 34 2.5.3快捷函數render() 36 2.5.4拋出404錯誤 37 2.5.5使用模板系統 38 2.5.6刪除模板中硬編碼的URLs 38 2.5.7URLnames的命名空間 38 2.6編寫一個簡單的表單 39 2.7用通用視圖:減少重復代碼 42 2.7.1改良URLconf 42 2.7.2修改視圖 43 2.8靜態文件 44 2.8.1使用CSS自定義應用的風格 44 2.8.2靜態文件命名空間 45 2.8.3添加一個背景圖 45 2.9重新設計后臺 46 2.9.1自定義后臺表單 46 2.9.2添加關聯對象 47 2.9.3定制實例的列表頁面 51 2.9.4定制admin整體界面 53 2.9.5定制admin首頁 54 第3章視圖層 55 3.1視圖層介紹 56 3.1.1分析View視圖的作用 56 3.1.2實戰演練:使用簡易View視圖文件實例 57 3.2URL調度器 59 3.2.1URL調度器介紹 59 3.2.2DjangoURL調度器的工作原理 61 3.2.3路徑轉換器 61 3.2.4URLconf匹配URL 65 3.2.5設置視圖參數的默認值 65 3.2.6自定義錯誤頁面 66 3.2.7實戰演練:使用Django框架實現URL參數相加 67 3.3編寫View視圖 69 3.3.1一個簡單的視圖 70 3.3.2返回錯誤信息 70 3.3.3實戰演練:在線文件上傳系統 72 3.4異步視圖 76 3.4.1異步視圖介紹 76 3.4.2異步中間件 77 3.4.3實戰演練:使用異步視圖展示兩種貨幣的交易數據 78 第4章Django數據庫操作 83 4.1Model模型 84 4.1.1Model模型基礎 84 4.1.2META內部類 86 4.1.3實戰演練:在Django框架中創建SQLite3數據庫 88 4.2使用QuerySetAPI 89 4.2.1QuerySetAPI基礎 90 4.2.2生成新的QuerySet對象的方法 91 4.2.3不返回QuerySet的方法 96 4.2.4字段查找 99 4.2.5實戰演練:使用QuerySetAPI操作SQLite數據庫 100 4.3實戰演練:使用QuerySetAPI操作MySQL數據庫 105 第5章使用模板 111 5.1模板基礎 112 5.1.1配置引擎 112 5.1.2Django模板的基礎用法 113 5.1.3實戰演練:使用簡易模板 114 5.2模板標簽Tags 115 5.2.1常用的模板標簽 115 5.2.2實戰演練:在模板中使用for循環顯示列表內容 120 5.3模板過濾器Filter 121 5.3.1常用的內置過濾器 121 5.3.2國際化標簽和過濾器 130 5.3.3其他標簽和過濾器庫 131 5.3.4實戰演練:使用過濾器提取列表和字典中的內容 131 5.4模板繼承 133 5.4.1模板繼承介紹 133 5.4.2實戰演練:使用模板繼承 135 5.5自定義模板標簽和過濾器 137 5.5.1基本方法 137 5.5.2自定義模板過濾器 138 5.5.3自定義模板標簽 139 5.5.4實戰演練:創建自定義模板過濾器 142 第6章表單 145 6.1表單介紹 146 6.1.1HTML表單介紹 146 6.1.2Django中的表單 147 6.2使用表單 148 6.2.1使用表單類Form的方法 148 6.2.2實戰演練:第一個表單程序 151 6.3表單的典型應用 152 6.3.1表單forms的設計與使用 152 6.3.2實戰演練:簡易用戶登錄驗證系統 160 6.3.3實戰演練:文件上傳系統 163 第7章站點配置和管理 169 7.1系統配置文件 170 7.1.1配置文件的特性 170 7.1.2基本配置 170 7.2靜態文件 172 7.2.1靜態文件介紹 173 7.2.2實戰演練:在登錄表單中使用靜態文件 174 7.3DjangoAdmin管理 176 7.3.1DjangoAdmin基礎 176 7.3.2實戰演練:使用DjangoAdmin系統 179 第8章站點的安全性 183 8.1Django安全概述 184 8.1.1跨站腳本(XSS)防護 184 8.1.2跨站請求偽造(CSRF)防護 184 8.1.3SQL注入保護 185 8.1.4點擊劫持保護 185 8.1.5SSL/HTTPS 185 8.1.6Host協議頭驗證 186 8.2使用Cookie和Session 186 8.2.1Django框架中的Cookie 186 8.2.2Django框架中的Session 190 8.3點擊劫持保護 194 8.3.1點擊劫持的例子 194 8.3.2使用X-Frame-Options 195 8.4跨站請求偽造保護 196 8.4.1在Django中使用CSRF防護的方法 196 8.4.2裝飾器方法 197 8.4.3實戰演練:求和計時器 198 8.4.4實戰演練:每日任務管理器 200 8.5加密簽名 203 8.6中間件 206 8.7實戰演練:安全版的仿CSDN登錄驗證系統 208 8.7.1系統設置 208 8.7.2會員注冊和登錄驗證模塊 209 8.7.3博客發布模塊 214 第9章站點管理 219 9.1DjangoWeb國際化 220 9.1.1Django中Python程序的國際化 220 9.1.2Django中模板的國際化 221 9.1.3Django中URL模式的國際化 224 9.2DjangoWeb本地化 227 9.2.1MessageFile(消息文件) 227 9.2.2編譯消息文件 228 9.2.3本地格式化 228 9.3國際化和本地化的應用 230 9.3.1實戰演練:展示法語環境 230 9.3.2實戰演練:創建多語言環境 233 9.4網站地圖sitemap 236 9.4.1安裝sitemap 236 9.4.2sitemap的初始化 236 9.4.3類Sitemap的成員 237 9.4.4快捷類GenericSitemap 238 9.4.5靜態視圖的Sitemap 239 9.4.6創建網站地圖索引 240 9.4.7模板定制 240 9.4.8實戰演練:在Django博客系統中創建網站地圖 241 第10章系統優化、調試和部署 245 10.1Django性能與優化 246 10.1.1什么是優化? 246 10.1.2Django中的性能優化技術 246 10.1.3實戰演練:在Django博客系統中添加django-debug-toolbar面板 249 10.2Django緩存處理 254 10.2.1緩存的思路 254 10.2.2設置緩存 255 10.2.3站點級緩存 260 10.2.4緩存單個view視圖 261 10.2.5在URLconf中指定視圖緩存 262 10.2.6模板片段緩存 262 10.2.7實戰演練:在上傳系統中使用Redis緩存 263 10.3日志系統 268 10.3.1在Django視圖中使用logging 268 10.3.2在Django中配置logging 269 10.3.3自定義logging配置和禁用logging配置 272 10.3.4Django對logging模塊的擴展 272 10.3.5實戰演練:在日志中記錄用戶的訪問操作 273 第11章郵件發送模塊 277 11.1實戰演練:使用smtplib發送郵件 278 11.2使用django.core.mail發送郵件 280 11.2.1django.core.mail基礎 280 11.2.2實戰演練:使用django.core.mail實現一個郵件發送程序 282 11.3實戰演練:使用郵箱發送驗證碼的用戶注冊、登錄驗證系統 284 第12章用戶登錄驗證模塊 291 12.1使用auth實現登錄驗證系統 292 12.1.1auth模塊基礎 292 12.1.2實戰演練:帶登錄驗證功能的簡易新聞系統 297 12.2使用django-allauth實現登錄驗證系統 301 12.2.1django-allauth框架基礎 301 12.2.2實戰演練:在django-allauth中使用百度賬戶實現用戶登錄系統 304 第13章計數器模塊 311 13.1實戰演練:一個簡單的網頁計數器 312 13.2實戰演練:使用數據庫保存統計數據 313 13.2.1創建Django工程 313 13.2.2實現數據庫 313 13.2.3配置URL 314 13.2.4實現視圖 315 13.2.5實現模板 315 13.2.6調試運行 316 13.3實戰演練:使用第三方庫實現訪問計數器 316 13.3.1準備工作 316 13.3.2配置URL 317 13.3.3實現數據庫 317 13.3.4實現視圖 318 13.3.5實現模板 319 13.3.6調試運行 321 第14章Ajax模塊 323 14.1Ajax技術的原理 324 14.2實戰演練:無刷新計算器 325 14.3Ajax上傳和下載系統 326 14.3.1實現文件上傳功能 326 14.3.2實現文件下載功能 331 第15章分頁模塊 335 15.1類Paginator和類Page 336 15.1.1類Paginator 336 15.1.2類Page 337 15.1.3實戰演練:實現簡單的分頁 337 15.2實戰演練:自定義的美觀的分頁程序 339 15.3實戰演練:使用分頁顯示網絡信息 343 15.3.1創建工程 344 15.3.2設計視圖 344 15.3.3設計URL導航 344 15.3.4實現模板文件 345 第16章富文本編輯器模塊 347 16.1第三方庫django-mdeditor 348 16.1.1django-mdeditor介紹 348 16.1.2實戰演練:使用django-mdeditor實現富文本編輯器 348 16.2第三方庫django-ckeditor 352 16.2.1django-ckeditor介紹 352 16.2.2實戰演練:在博客系統中使用django-ckeditor富文本編輯器 353 第17章綜合實戰:民宿信息可視化 357 17.1系統背景介紹 358 17.2爬蟲抓取信息 358 17.2.1系統配置 359 17.2.2Item處理 359 17.2.3具體爬蟲 360 17.2.4破解反扒字體加密 360 17.2.5下載器中間件 363 17.2.6保存爬蟲信息 367 17.3數據可視化 370 17.3.1數據庫設計 370 17.3.2視圖顯示 373 《Django Web開發從入門到實戰》循序漸進地講解了使用Python語言開發Django Web程序的知識,并通過具體實例的實現過程演示了使用Django框架的方法和流程。全書共17章,分別講解了初步認識Django,分析Django項目的結構,視圖層,Django數據庫操作,使用模塊,表單,站點配置和管理,站點的安全性,站點管理,系統優化、調試和部署,郵件發送模塊,用戶登錄驗證模塊,計數器模塊,Ajax模塊,分頁模塊,富文本編輯器模塊,綜合實戰:民宿信息可視化。全書文字簡潔而不失其技術深度,內容豐富全面,歷史資料翔實齊全。并且本書易于閱讀,以極簡的文字介紹了復雜的案例,同時涵蓋了其他同類圖書中很少涉及的歷史參考資料,是學習Django Web開發的完美教程。
《Django Web開發從入門到實戰》適合已經了解了Python語言基礎語法并且希望進一步提高Python開發水平的讀者閱讀,還可以作為大中專院校相關專業的師生用書和培訓學校的專業性教材。 從你開始學習編程的那一刻起,就注定了以后所要走的路:從編程學習者開始,依次經歷實習生、程序員、軟件工程師、架構師、CTO等職位的磨礪;當你站在職位頂峰驀然回首時,會發現自己的成功并不是偶然的,在程序員的成長之路會有不斷修改代碼、尋找并解決Bug、不停測試程序和修改項目的經歷;不可否認的是,只要你在自己的程序開發生涯中穩扎穩打,并且善于總結和學習,最終將會得到可喜的收獲。
選擇一本合適的書 對于一名程序開發者來說,究竟應該如何學習并提高自己的開發技術呢?答案就是買一本合適的程序開發書籍進行學習。但是,市面上許多編程書籍主要都是講解基礎知識,多偏向于理論,讀者讀了以后面對實戰項目還是無從下手。 本書面向有一定Python基礎的讀者,傳授使用Python語言開發Django Web程序的知識。本書主要講解實現Django Web開發所必須具備的知識和技巧,這些知識能夠幫助開發者迅速開發出需要的Web項目功能,提高開發效率。 本書的特色 1.內容全面 本書詳細講解Django Web開發所需要的開發技術,循序漸進地講解了這些技術的使用方法和技巧,幫助讀者快速步入Python Web開發的高手行列。 2.實例驅動教學 本書采用理論加實例的教學方式,通過這些實例實現了對知識點的橫向切入和縱向比較,讓讀者有更多的實踐演練機會,并且可以從不同的方位展現一個知識點的用法,真正實現了拔高的教學效果。 3.貼心提示和注意事項提醒 本書根據需要在各章安排了“注意”“說明”和“技巧”等小板塊,讓讀者可以在學習過程中更輕松地理解相關知識點及概念,更快地掌握相關技術的應用技巧。 本書的內容 本書循序漸進地講解了使用Python語言開發Django Web程序的知識,并通過具體實例的實現過程演示了使用Django框架的方法和流程。全書共17章,分別講解了初步認識Django,分析Django項目的結構,視圖層,Django數據庫操作,使用模塊,表單,站點配置和管理,站點的安全性,站點管理,系統優化、調試和部署,郵件發送模塊,用戶登錄驗證模塊,計數器模塊,Ajax模塊,分頁模塊,富文本編輯器模塊,綜合實戰:民宿信息可視化。全書文字簡潔而不失其技術深度,內容豐富全面,歷史資料翔實齊全。并且本書易于閱讀,以極簡的文字介紹了復雜的案例,同時涵蓋了其他同類圖書中很少涉及的歷史參考資料,是學習Django Web開發的完美教程。 本書適用于已經了解了Python語言基礎語法的讀者,并且適用于希望進一步提高自己Python開發水平的讀者,還可以作為大專院校相關專業的師生用書和培訓學校的專業性教材。 本書的讀者對象 軟件工程師; Django學習者和開發者; Python Web學習者和開發者; 專業數據分析人員; 數據庫工程師和管理員; 大學及中學教育工作者。 致謝 本書在編寫過程中,得到了清華大學出版社編輯們的大力支持,正是各位編輯的求實、耐心和效率,才使得本書能夠在較短的時間內出版。另外,也十分感謝我的家人給予的巨大支持。本人水平畢竟有限,書中紕漏之處在所難免,誠請讀者提出寶貴的意見或建議,以便修訂使之更臻完善。 最后感謝您購買本書,希望本書能成為您編程路上的領航者,祝您閱讀快樂! 編 者 |