Python 新手學Django 2.0架站的16堂課(第2版)( 簡體 字) | |
作者:何敏煌、林亮昀 | 類別:1. -> 程式設計 -> Python |
出版社:清華大學出版社 | 3dWoo書號: 50863 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:4/1/2019 | |
頁數:485 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302523321 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1堂網站開發環境的建立 1
1.1網站的基礎知識 1 1.1.1網站的運行流程 1 1.1.2Python/Django扮演的角色 3 1.1.3使用Python/Django建立網站的優勢 4 1.2建立網站開發流程 4 1.2.1開發流程簡介 4 1.2.2在Windows建立Linux虛擬機 5 1.2.3在MacOS安裝Linux虛擬機 12 1.2.4在Linux虛擬機中創建PythonDjango開發環境 18 1.2.5設置SSH、PuTTY以及FTP服務器 19 1.2.6安裝Notepad++程序編輯器 23 1.3活用版本控制系統 27 1.3.1版本控制系統Git簡介 27 1.3.2申請Bitbucket賬號 28 1.3.3在虛擬機中連接Bitbucket 30 1.3.4在不同的計算機之間開發同一個網站 32 1.4其他網站項目開發環境的安裝建議 33 1.4.1在Windows10創建開發環境 33 1.4.2在MacOS中創建開發環境 35 1.4.3在Cloud9中創建開發環境 37 1.4.4在DigitalOceanVPS中創建開發環境 39 1.5習題 40 第2堂Django網站快速入門 41 2.1個人博客網站規劃 41 2.1.1博客網站的需求與規劃 41 2.1.2產生第一個網站框架 42 2.1.3Django文件夾與文件解析 44 2.2創建博客數據表 46 2.2.1數據庫與Django的關系 46 2.2.2定義數據模型 46 2.2.3啟動admin管理界面 47 2.2.4讀取數據庫中的內容 52 2.3網址對應與頁面輸出 54 2.3.1創建網頁輸出模板Template 54 2.3.2網址對應urls.py 58 2.3.3共享模板的使用 60 2.4高級網站功能的運用 63 2.4.1JavaScript以及CSS文件的引用 63 2.4.2圖像文件的應用 67 2.4.3在主網頁顯示文章摘要 68 2.4.4博客文章的HTML內容處理 70 2.4.5Markdown語句解析與應用 73 2.5習題 75 第3堂讓網站上線 76 3.1DigitalOcean部署 76 3.1.1申請賬號與創建虛擬主機 76 3.1.2安裝Apache網頁服務器及Django執行環境 80 3.1.3修改settings.py、000-default.conf等相關設置 82 3.1.4創建域名以及多平臺設置 84 3.2在Heroku上部署 87 3.2.1Heroku賬號申請與環境設置 87 3.2.2修改網站的相關設置 89 3.2.3上傳網站到Heroku主機 90 3.2.4Heroku主機的操作 93 3.3在GoogleCloudPlatform上部署 94 3.3.1GoogleCloudPlatform的介紹 94 3.3.2GoogleComputing啟用與設置 98 3.3.3GoogleAppEngine的說明與設置 101 3.4習題 110 第4堂深入了解Django的MVC架構 111 4.1Django的MVC架構簡介 111 4.1.1MVC架構簡介 111 4.1.2Django的MTV架構 112 4.1.3Django網站的構成以及配合 113 4.1.4在DjangoMTV架構下的網站開發步驟 114 4.2Model簡介 115 4.2.1在models.py中創建數據表 116 4.2.2在admin.py中創建數據表管理界面 118 4.2.3在PythonShell中操作數據表 121 4.2.4數據的查詢與編輯 123 4.3View簡介 125 4.3.1建立簡易的HttpResponse網頁 126 4.3.2在views.py中顯示查詢數據列表 127 4.3.3網址欄參數處理的方式 128 4.4Template簡介 131 4.4.1創建Template文件夾與文件 131 4.4.2傳送變量到Template文件中 132 4.4.3在Template中處理列表變量 135 4.5最終版本摘要 135 4.6習題 138 第5堂網址的對應與委派 139 5.1Django網址架構 139 5.1.1URLconf簡介 139 5.1.2委派各個的網址到處理函數 141 5.1.3urlpatterns的正則表達式語法說明(適用于Django2.0以前的版本) 144 5.1.4驗證正則表達式設計URL的正確性 147 5.2高級設置技巧 148 5.2.1參數的傳送 148 5.2.2include其他整組的urlpatterns設置 149 5.2.3URLconf的反解功能 149 5.3習題 150 第6堂Template深入探討 151 6.1Template的設置與運行 151 6.1.1settings.py設置 151 6.1.2創建Template文件 153 6.1.3在Template文件中使用現有的網頁框架 154 6.1.4直播電視網站應用范例 155 6.1.5在Template中使用static文件 158 6.2高級Template技巧 160 6.2.1Template模板的繼承 160 6.2.2共享模板的使用范例 162 6.3Template語言 163 6.3.1判斷指令 163 6.3.2循環指令 164 6.3.3過濾器與其他的語法標記 168 6.4習題 171 第7堂Models與數據庫 172 7.1網站與數據庫 172 7.1.1數據庫簡介 172 7.1.2規劃網站需要的數據庫 173 7.1.3數據表內容設計 176 7.1.4models.py設計 177 7.2活用Model制作網站 178 7.2.1建立網站 178 7.2.2制作網站模板 180 7.2.3制作多數據表整合查詢網頁 182 7.2.4調整admin管理網頁的外觀 186 7.3在Django使用MySQL數據庫系統 188 7.3.1安裝開發環境中的MySQL連接環境(Ubuntu) 188 7.3.2安裝開發環境中的MySQL連接環境(Windows) 189 7.3.3使用Google云端主機的商用SQL服務器 192 7.4習題 196 第8堂網站窗體的應用 197 8.1網站與窗體 197 8.1.1HTML<form>窗體簡介 197 8.1.2活用窗體的標簽 200 8.1.3建立本堂課范例網站的數據模型 202 8.1.4網站窗體的建立與數據顯示 204 8.1.5接收窗體數據存儲于數據庫中 206 8.1.6加上刪除帖文的功能 207 8.2基礎窗體類的應用 209 8.2.1使用POST傳送窗體數據 209 8.2.2結合窗體和數據庫 213 8.2.3數據接收與字段的驗證方法 216 8.2.4使用第三方服務發送電子郵件 219 8.3模型窗體類ModelForm的應用 223 8.3.1ModelForm的使用 223 8.3.2通過ModelForm產生的窗體存儲數據 225 8.3.3為窗體加上防機器人驗證機制 226 8.4習題 231 第9堂網站的Session功能 232 9.1Session簡介 232 9.2.1復制Django網站 232 9.1.2Cookie簡介 233 9.1.3建立網站登錄功能 234 9.1.4Session的相關函數介紹 239 9.2活用Session 240 9.2.1建立用戶數據表 240 9.2.3整合Django的信息顯示框架MessagesFramework 246 9.3Djangoauth用戶驗證 249 9.3.1使用Django的用戶驗證系統 249 9.3.2增加User的字段 252 9.3.3顯示新增加的User字段 254 9.3.4應用auth用戶驗證存取數據庫 256 9.4習題 261 第10堂網站用戶的注冊與管理 262 10.1建立網站用戶的自動化注冊功能 262 10.1.1django-registration-redux安裝與設置 262 10.1.2創建django-registration-redux所需的模板 263 10.1.3整合用戶注冊功能到分享日記網站 267 10.2Pythonanywhere.com免費Python網站開發環境 271 10.2.1注冊Pythonanywhere.com賬號 271 10.2.2在Pythonanywhere免費網站中建立虛擬環境以及Django網站 278 10.2.3建立投票網站的基本架構 283 10.3使用Facebook驗證賬號操作實踐 290 10.3.1在Pythonanywhere中安裝django-allauth與設置 290 10.3.2到Facebook開發者網頁申請驗證機制 293 10.3.3在網站中識別用戶的登錄狀態 298 10.3.4客戶化django-allauth頁面 301 10.4習題 303 第11堂社交網站應用實踐 304 11.1投票網站的規劃與調整 304 11.1.1網站功能與需求 304 11.1.2數據表與頁面設計 306 11.1.3網站的轉移 309 11.2.4移動設備的考慮 311 11.2深入探討django-allauth 312 11.2.1django-allauth的Template標簽 313 11.2.2django-allauth的Template頁面 314 11.2.3獲取Facebook用戶的信息 316 11.3投票網站功能解析 317 11.3.1首頁的分頁顯示功能 318 11.3.2自定義標簽并在首頁顯示目前的投票數 319 11.3.3使用AJAX和jQuery改進投票的效果 322 11.3.4避免重復投票的方法 327 11.3.6新建Twitter賬號鏈接 329 11.4習題 334 第12堂電子商店網站實踐 335 12.1打造迷你電商網站 335 12.1.1復制網站,不要從零開始 335 12.1.2建立網站所需要的數據表 337 12.1.3上傳照片的方法django-filer 341 12.1.4把django-filer的圖像文件加到數據表中 345 12.2增加網站功能 348 12.2.1分類查看產品 348 12.2.2顯示詳細的產品內容 352 12.2.3購物車功能 353 12.2.4建立訂單功能 357 12.3電子支付功能 365 12.3.1建立付款流程 366 12.3.2建立PayPal付款鏈接 368 12.3.3接收PayPal付款完成通知 374 12.3.4測試PayPal付款功能 375 12.4習題 381 第13堂全功能電子商店網站django-oscar實踐 382 13.1Django購物網站Oscar的安裝與使用 382 13.1.1電子購物網站模板 382 13.1.2DjangoOscar購物車系統測試網站安裝 383 13.2建立Oscar的應用網站 386 13.2.1安裝前的準備 386 13.2.2建立網站的域名 387 13.2.3調整Apache2配置文件 388 13.2.4建立DjangoOscar購物網站項目 389 13.2.5加上電子郵件的發送功能 397 13.2.6簡單地修改Oscar網站的設置 398 13.2.7增加PayPal在線付款功能 401 13.3自定義Oscar網站 406 13.3.1建立自己的templates,打造客戶化的外觀 407 13.3.2網站的中文翻譯 416 13.4習題 417 第14堂使用Mezzanine快速打造CMS網站 418 14.1快速安裝MezzanineCMS網站 418 14.1.1什么是Mezzanine 418 14.1.2安裝Mezzanine 419 14.1.3安裝Mezzanine主題 425 14.1.4Mezzanine網站的設置與調整 427 14.2使用Mezzanine建立電子商店網站 429 14.2.1安裝電子購物車套件與建立網站 429 14.2.2自定義Mezzanine網站的外觀 431 14.3在Heroku部署Mezzanine網站 435 14.4習題 440 第15堂名言佳句產生器網站實踐 441 15.1建立網站前的準備 441 15.1.1準備網站所需的素材 441 15.1.2圖文整合練習 442 15.1.3建立可隨機顯示圖像的網站 444 15.2產生器功能的實現 446 15.2.1建立產生器界面 447 15.2.2產生唯一的文件名 449 15.2.3開始合并隨后產生圖像文件 449 15.2.4準備多個背景圖像文件以供選擇 453 15.3自定義圖像文件功能 458 15.3.1加入會員注冊功能 458 15.3.2建立上傳文件的界面 458 15.3.3上傳文件的方法 462 15.3.4實時產生結果 464 15.4習題 466 第16堂課程回顧與你的下一步 467 16.1善加運用網站資源 467 16.2部署上線的注意事項 470 16.3SSL設置實踐 472 16.4程序代碼和網站測試的重要性 483 16.5其他Python框架 486 16.6你的下一步 486 Python是目前非常受歡迎的程序設計語言,本書通過對Python語言使用最多的Django 2.0 Web Framework的介紹,讓讀者可以輕松制作出全功能的動態網站。
本書分4部分,以16堂課來介紹Python新手使用Django架站的要點。第一部分(第1~3堂)以一個小型的個人博客網站為主軸,介紹如何快速建立一個實用的Django網站;第二部分(第4~7堂)是Django架構深入剖析,詳細分析Django的MVC/MTV架構;第三部分(第8~11堂)為實用網站開發技巧;第四部分(第12~16堂)為實用網站開發教學,從設計、規劃到實踐,逐步指導讀者在自己的主機環境下構建出有趣實用的內容。 本書既可作為希望快速上手Python+Django的初學者的參考書籍,也可作為Python培訓學校在Python+Django方面的培訓教程。 本書的主要目的在于介紹如何使用Django這個Web Framework在網絡主機上架設一個全功能的網站。Django是一個由Python編寫的具有完整架站能力的Web網站框架,通過這個框架,只要短短幾條指令,Python的程序設計人員就可以輕松地建立一個正式網站所需要的骨架(框架),再從這個框架中開發出全功能的網站。
Python語言充滿了令人津津樂道的加速技巧,為了方便讀者學習,本書盡量使用初學者容易理解的講述方式,以期閱讀本書的讀者能夠在最短的時間內跨過使用程序設計語言制作網站的門檻,馬上以Python建立自己的特色網站,并在熟悉流程以及架構后,進一步提升網站的性能。 所以,只要你有Python的基本程序設計能力以及網站架構和運行的基本概念,基本上就有足夠的能力通過本書來建立屬于自己的動態網站——一個可以讓你充分利用Python語言所有能力、連接數據庫、使用社交網站賬號驗證機制、實時運算處理數據、充分實現所有“點子”的網站。 由于網站系統的版本更新迅速,因而本書所有網站范例均在更新的Python 3.6以及Django 2.0中測試無誤(部分章節因為模塊版本的問題,仍然是使用Django 1.11版),為了避免學習上的困擾,建議讀者在學習時盡量以同樣的版本練習(相同的主版本號即可),等熟練之后再根據需求升級版本。此外,一開始建立基本范例時也以本書提供的范例程序代碼為主,等到有了一定的基礎,再把讀者自己的程序代碼拿來使用,“在實踐中學習”永遠是學習程序設計的最佳方法。 |