這是本文件的舊版!
勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案
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
- 問題與討論
訓練班別計畫表
🔸 課程目標
※可用於行銷文宣,以求能精準吸引到目標群眾。
從 Python Django 開發環境建置起步,再深入瞭解 Django 核心架構及各種客製化應用的技術。 除了學習基本的資料庫綱要及模型設計,並寫出對應的表單資料輸入及報表輸出的程式碼之外,更進一步要能掌握企業級網站開發的關鍵技術,包含:
- 資料存取權限分級
- RESTful API 串接
- 第三方登入 (OAuth) 整合
- 即時通訊 WebSockets 應用
- 關於 UI/UX 國際化之多國語言和多時區的實作考量
- 客製化 Admin Site 以提供系統維運支援
本課程透過多個完整的範例實作和講解,提供您在面對問題時所需要的各種解決方案,協助您建構並產出高實用性、具備商業價值的網站應用程式,成為業界搶手的即戰力人才!
🔸 課程特色
a. 知識:
※描述學員在學科理論面能獲得的知識。
- 現代 Web 開發核心理論: 深入淺出,解析 Django 架構 (Framework)、深入理解 Django 經典的 MTV (Model-Template-View) 設計模式,學習如何高效組織專案結構。
- 資料庫抽象化思維: 透過 Django ORM 技術,學習以「物件導向」方式操作關聯式資料庫,取代傳統繁瑣的 SQL 語法,並掌握資料遷移 (Dta Migration) 與關聯設計 (Relationships) 的正確觀念。
- 網頁及 API 存取的安全標準: 從基礎的 HTTP 協定延伸至 RESTful API 設計原則,並深入研討 Session、Cookies、JWT (JSON Web Tokens) 及 OAuth 2.0 等現代化身份驗證與授權機制。
b. 技能:
※描述實際操作體驗能獲得的練習方式與內容。
- 全方位的實作能力: 以範例實作來驗證相關的技術和理論,練就全方位開發手感。
- 全端整合實戰: 透過 Django 的 MTV 設計模式,讓前後端整合工作輕鬆快速、一氣呵成。再進一步使用 Bootstrap 優化 RWD 介面、透過 Echarts 實現資料視覺化,並利用 AJAX 與 WebSockets 達成前後端即時互動。
- 多重認證系統整合: 允許多套認證系統並存,包含:Django 預設的認證系統、JWT 擴增功能、或結合 OAuth 2.0 授權協議等。
- 資料存取權限分級: 允許不同群組或角色的使用者,對相同的資源 (URL Path) 賦予不同的存取權限,或限制其所能存取的資料內容。
- 高階套件應用: 實作業界常用的 Django 擴充套件,包括 Django REST Framework (DRF) 建置 API、django-allauth 整合 Google 或 FB 登入、以及 SimpleJWT 實作資安防護。
- 完善的軟體工程及軟體生命週期實作體驗: 熟悉 VS Code 開發環境,掌握單元測試 (Automated Testing)、除錯技巧 (Debugging)、日誌管理 (Logging) 及國際化 (i18n) 多語系配置,完全比照業界標準作業流程。
- 完善的軟體工程及軟體生命週期實作體驗: 熟悉 VS Code 開發環境,掌握單元測試 (Automated Testing)、除錯技巧 (Debugging)、日誌管理 (Logging) 及國際化 (i18n) 多語系配置,完全比照業界標準作業流程。
c. 成效:
※上完本課程後,學員在職涯上有什麼實際的效果與幫助。
- 產出導向: 打造具備競爭力的職涯履歷
- 獨立開發能力:結訓後,學員將具備從零開始規劃、設計並部署一個功能完善網站系統的能力,不再依賴片段的網路教學。
- 作品集累積:課程包含多個實務專案演練(如民調系統、圖表報表、權限管理系統),學員可將其轉化為求職作品集,證明自己具備解決複雜問題的技術實力。
- 職務銜接:直接對接 Python 後端工程師、全端開發工程師等熱門職缺需求,大幅縮短職場磨合期。
🔸 能力專長
※填寫適合的關鍵字,讓學員可依照關鍵字搜尋到本課程。
- 關鍵字:
Python, Django, 網站開發 (Web Development), 後端工程 (Backend Engineering), 全端整合 (Full Stack), RESTful API, 資料庫設計 (Database Design), SQL, MySQL, MariaDB, ORM, 響應式網頁設計 (RWD), OAuth, UI/UX
🔸 學員資格
- 學歷:高中/職(含)以上
- 資格條件:
- 具備電腦基本操作能力。
- 對 Python 程式語言稍具概念者。
- 對 HTML、CSS 網頁製作 及 JavaScript 程式語言稍具概念者。
- 對 SQL 關聯式資料庫稍具概念者。
🔸 訓練費用編列說明
- 材料費估計: 無
🔸 課程使用軟體(開發環境)
- Python v3
- Visual Studio Code
- MariaDB / MySQL Database Server