這是本文件的舊版!
勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案
Python Django 網站應用程式設計實務班
- 總時數: 48 小時 (8 天,每天 6 小時)
課程大綱
- day 1 ~ am
- 課程簡介
- Django 全端網頁應用框架簡介
- Django 開發環境準備
- 安裝 MariaDB, Python, Django, VS Code
- django-admin 及 manage.py 專案開發管理工具簡介
- Django Project & App 建立與設定
- Django REPL (Read-Eval-Print Loop) 互動式文字操作介面 ~ shell 及 dbshell 操作簡介
- day 1 ~ pm
- Django 專案開發實作初體驗 ~ 採用官網「Polls 民調問卷」範例
- day 2 ~ am
- Django ORM 簡介
- 物件化的 ORM 與 傳統的 ER-Model 之異同
- 採用 Django ORM 物件化的存取指令 取代 SQL Script 腳本
- Models 之間的對應關係 ~ relationships
- Django Model Migration 資料遷移工具的運作原理與操作
- 資料匯入、匯出、備份、複製、遷移的各種方法、考量、與適用時機
- Django ORM 進階查詢及應用
- day 2 ~ pm
- Django 內建的 Admin Site 管理網站 簡介
- 客製化、擴增 Admin Site 管理網站 功能
- day 3 ~ am
- Django MTV (Model–Template–View) Design Pattern 設計模式 簡介
- URL Router (網址架構) 與 View (視圖函數) 的對應
- Django View 的三種實作方式
- day 3 ~ pm
- Django Template 語法介紹
- 在 View 中執行查詢或統計、並將結果結合 Template 輸出於前端網頁
- 資料視覺化 ~ Echarts 網頁圖表繪製工具 簡介
- 搭配 Python Pyecharts Module 以生成 ECharts 圖表頁面
- day 4 ~ am
- 導入 RWD 技術、採用 Bootstrap 來優化前端頁面
- 應用 Django 內建的 messages 框架,來傳遞各種提示訊息至前端頁面
- 為 Django 專案 建立系統功能選單
- 採用 django-simple-captcha 模組,在登入時提供 CAPTCHA 圖形驗證碼
- day 4 ~ pm
- 表單 ~ Django Forms 與 Django Model Forms
- 表單集 ~ Django Inline Formset 與 Django Model Formset
- 在同一個 Template 頁面中編輯 one-to-many 關聯模型資料
- day 5 ~ am
- Django View / Form / Fomset / Widget 與 Template 整合應用
- Django FileField 檔案型欄位 之 上傳、下載 應用
- OS 實體儲存位置配置 及 上傳的實體檔案管理
- 對應的下載連結 URL 設定
- day 5 ~ pm
- 採用 Python logging module 實作後端日誌管理
- 資料庫效能優化 與 Django 語法應用最佳化
- Django QuerySet 及其進階查詢技巧
- 後臺系統 與 前端網頁 之間的 即時互動
- 在前端網頁中,透過 JavaScript 的 AJAX 或 Fetch 功能,來呼叫後臺 HTTP API
- 在後臺實作 WebSocket Server,並於前端網頁透過 WebSocket 與後臺進行雙向互動
- day 6 ~ am
- RESTful API 簡介
- Django REST Framework (DRF) 簡介、安裝、設定
- DRF 官網範例實作
- 比較 Django 的 Form 與 DRF 的 Serializer,有哪些異同之處?
- Django 專案中 Resource URL 的配置與優化
- day 6 ~ pm
- Sessions 與 Cookies 簡介
- 客製化 Django 的 Sessions Framework
- 為特定的網頁添加造訪計數器
- Django 預設的 Auth User Model 及認證與授權管理
- 客製化 Django User Model
- day 7 ~ am
- 為 Django 建立另一套可並存的「Authentication 認證模組」及「Permission 授權模組」
- JSON Web Tokens (JWT) 認證架構簡介與範例實作
- 加裝 Python SimpleJWT Module,藉以擴充 Django 及 DRF,導入 JWT 認證架構
- day 7 ~ pm
- 透過 OAuth 導入第三方(如:Google, Facebook, LINE 等)所提供的開放身份驗證機制
- OAuth 2.0 簡介
- 使用 Django-allauth 整合社群登入(以 Google Account 為例)
- 導入完善的的授權配置、並防堵不當存取
- day 8 ~ am
- 關於 UI/UX 國際化的考量 ~ 語言、時區、貨幣
- 在 Django 專案中 建立國際化 (i18n) 多語系環境
- 需要翻譯的對象: Data Model (Content) / Python code (Message) / UI (Template)
- 步驟: 啟用多語系功能、標記可翻譯的字串、生成訊息文件、翻譯文件,並設定語系切換
- 搭配前端 Browser Cookies,以記錄使用者選定的語系
- 正確處理因不同時區 Timezone 所衍生的轉換問題(含:後臺、前端、及 RESTful API)
- day 8 ~ pm
- Django 專案開發中的測試與除錯
- Django 自動化測試 Automated Testing
- 問題與討論