學(xué)習(xí)本路線內(nèi)容之前,請先學(xué)習(xí)Python的基礎(chǔ)知識
其他路線:
符號表解釋:
可根據(jù)知識點前的符號按需選學(xué),并獲取知識點描述和學(xué)習(xí)資源。
必學(xué):核?知識點,經(jīng)常?到。
建議學(xué):重要知識點,專業(yè)??的基?。
?試重點:經(jīng)常出現(xiàn)的?試知識點。
可有可?:邊緣區(qū)域,不是必須探索的地?。
知識描繪:知識點描述,快速理解。
學(xué)習(xí)資源:關(guān)聯(lián)的學(xué)習(xí)資源。
學(xué)習(xí)?標(biāo):階段性?標(biāo)。
學(xué)習(xí)路線:Web開發(fā)
1. 目標(biāo):開發(fā)在線商城
- 目標(biāo):開發(fā)一個簡單的在線商城,包括商品展示、購物車、訂單管理等功能,使用Django的ORM進行數(shù)據(jù)庫操作。
2. Django框架
2.1 描述
- Django:是一個用于構(gòu)建Web應(yīng)用程序的高級Python Web框架。
2.2 資源
2.3 安裝Django
- 資源:安裝官方發(fā)布版
3. MVT 分層架構(gòu)
3.1 描述
- MVT:在Django中代表模型(Model),視圖(View)和模板(Template),類似于MVC(模型-視圖-控制器)模式。
3.2 組件
- 模型(Model):定義數(shù)據(jù)模型,與數(shù)據(jù)庫交互,處理數(shù)據(jù)的存儲和檢索。
- 視圖(View):處理用戶請求,從模型中獲取數(shù)據(jù),并將數(shù)據(jù)傳遞給模板進行渲染。視圖負責(zé)業(yè)務(wù)邏輯的處理。
- 模板(Template):定義用戶界面的呈現(xiàn)方式,接收來自視圖的數(shù)據(jù),并生成最終的HTML響應(yīng)。
4. 模型與ORM
4.1 模型基礎(chǔ)
- 描述:Django提供了一個抽象的模型層,用于結(jié)構(gòu)化和操作網(wǎng)頁應(yīng)用程序的數(shù)據(jù)。
- 資源:模型基礎(chǔ)
4.2 ORM
- 描述:ORM代表“對象關(guān)系映射”,是一種編程技術(shù),用于在關(guān)系型數(shù)據(jù)庫和面向?qū)ο缶幊陶Z言之間建立映射關(guān)系。
5. 視圖與模板
5.1 視圖
- 功能:處理用戶請求,從模型中獲取數(shù)據(jù),并將數(shù)據(jù)傳遞給模板進行渲染。
5.2 模板
- 功能:定義用戶界面的呈現(xiàn)方式,接收來自視圖的數(shù)據(jù),并生成最終的HTML響應(yīng)。
- 模板語法:學(xué)習(xí)Django模板的語法和功能。
- 靜態(tài)資源:管理靜態(tài)文件,如CSS和JavaScript文件。
6. 路由與Django Admin
6.1 路由
- 功能:定義URL與視圖函數(shù)之間的映射關(guān)系,將請求路由到特定的視圖函數(shù)。
6.2 Django Admin 管理工具
- 功能:提供強大的管理后臺工具,自動生成用于管理數(shù)據(jù)庫模型的界面。
7. 中間件與測試
7.1 中間件
- 功能:在請求和響應(yīng)處理過程中執(zhí)行自定義操作,如CSRF保護、安全性、緩存、日志記錄等。
7.2 測試
- 功能:編寫單元測試和集成測試,確保應(yīng)用程序的穩(wěn)定性和正確性。
8. 會話與鑒權(quán)
8.1 會話
- 功能:跟蹤和存儲用戶狀態(tài)信息,如登錄狀態(tài)、購物車內(nèi)容等。
8.2 鑒權(quán)
- 功能:實現(xiàn)用戶身份驗證、權(quán)限管理和訪問控制。
9. 文件上傳與高級特性
9.1 文件上傳
- 功能:允許用戶上傳文件,并使用Django的文件字段存儲和管理這些文件。
9.2 高級特性
- 分頁:將大量數(shù)據(jù)分成多個頁面以提高性能和用戶體驗。
- 緩存:減輕數(shù)據(jù)庫負載并提高響應(yīng)速度。
- 序列化:將復(fù)雜的Python對象轉(zhuǎn)換為可傳輸?shù)臄?shù)據(jù)格式,如JSON或XML。
- 信號:事件處理機制,允許應(yīng)用的不同部分之間進行解耦和通信。
- Celery任務(wù)調(diào)度:異步執(zhí)行長時間運行的任務(wù),提高應(yīng)用程序的性能和可擴展性。
10. Restful API 開發(fā)
- Django REST framework:構(gòu)建API,創(chuàng)建可讀性強、易于維護的網(wǎng)絡(luò)接口。
11. 部署
- 部署:將開發(fā)好的網(wǎng)站放到服務(wù)器上,使人們能夠訪問。涉及配置服務(wù)器、數(shù)據(jù)庫和確保網(wǎng)站在線可用。
12. 項目實戰(zhàn)
- 實戰(zhàn):將所學(xué)應(yīng)用到實際項目中,包括設(shè)計、開發(fā)、測試和部署網(wǎng)站。
13. 前端基礎(chǔ)
13.1 HTML
- 描述:超文本標(biāo)記語言,用于構(gòu)建網(wǎng)頁的結(jié)構(gòu)。
- 資源:HTML入門課程>>>
13.2 CSS
- 描述:層疊樣式表,用于設(shè)置網(wǎng)頁的布局和樣式。
- 資源:CSS入門課程>>>
13.3 JavaScript
- 描述:一種腳本編程語言,用于實現(xiàn)網(wǎng)頁的交互性。
- 資源:JavaScript入門課程>>>
14. Flask框架
14.1 描述
- Flask:一個輕量級的Python Web應(yīng)用框架,用于快速構(gòu)建Web應(yīng)用程序。Flask適合用來寫一些簡單的項目和API接口。
14.2 資源