open:mol:django_basic

這是本文件的舊版!


勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案

Python Django 基礎之 SQL 資料庫、JavaScript 動態網站、物件導向設計 先修班



🔸總時數: 36 小時 (6 天,每天 6 小時) 最終版

  • Day 1:Python 物件導向、進階特性、與非同步程式設計
    • 物件導向 OOP 核心概念與實作
      • 類別 Class 與物件 Object 的概念與實作體驗
      • 屬性、方法與特殊建構式 (init, str, repr)
      • 封裝 Encapsulation、繼承 Inheritance 與多型 Polymorphism 在實務上的應用
      • super() 函數與多重繼承概論
      • Python Module and Package 模組和套件
    • 函數進階與 Decorator 裝飾器
      • 一級函數 First-Class Functions 與閉包 Closures 的概念
      • Python Decorator:原理解析與自訂裝飾器實作
      • 帶參數的裝飾器與 functools.wraps 的應用
      • 裝飾器在 Web 框架中的常見情境(如:權限驗證、路由註冊預熱)
    • Python 非同步程式設計 Asynchronous Programming
      • 同步 Synchronous 與非同步 Asynchronous 的效能差異與應用場景
      • 深入理解 asyncio 模組與 Event Loop 事件迴圈
      • async 與 await 語法實戰:建立非同步任務與並行處理
      • 非同步設計在現代 I/O 密集型 Web 應用中的重要性
  • Day 2:關聯式資料庫基礎、進階 SQL 操作、與 Python SQL Client
    • 關聯式資料庫與 ERD 實體關聯設計
      • 關聯式資料庫 MariaDB 概念、與各款 DB Client 操作管理工具
      • 資料庫正規化 Normalization 原則
      • 實體關係圖 ERD / ER-Model 繪製與系統架構分析
      • SQL 基礎回顧與 DDL 資料定義語言 實作
    • 複雜資料查詢與操作 SQL DML & DQL
      • 多表關聯查詢:INNER JOIN, LEFT/RIGHT JOIN, FULL OUTER JOIN
      • 聚合函數 SUM, AVG, COUNT 與資料分組 GROUP BY, HAVING
      • 子查詢 Subqueries 與視圖 Views 的應用
    • Python SQL Client 實務
      • 使用 Python 擴充套件 mysqlclient / pymysql 連線 SQL 資料庫
      • 透過 Python 執行原生 SQL 語法 ~ 以 CRUD 操作為例
      • 資料指標 Data Cursor 的操作
      • 資料庫交易 DB Transaction 管理 ~ Commit 與 Rollback
      • 防範 SQL Injection 攻擊:參數化查詢 Parameterized Queries
  • Day 3:從 ERD 到 ORM 的典範轉移
    • Database Schema 設計與 ORM 映射思維
      • 物件關聯對映 ORM (Object-Relational Mapping) 簡介
      • 由 ERD 改為 ORM ~ 如何將「資料表 Tables」轉換為「類別 Classes」,將「紀錄 Rows」轉換為「物件 Objects」?
      • 關聯性映射設計:一對一 (1:1)、一對多 (1:N)、多對多 (N:M) 的邏輯轉換
      • ORM 的優缺點分析、與 1+N 查詢問題預警
    • Python Tortoise ORM 實作
      • 結合非同步 Asynchronous 架構的 ORM 體驗
      • 透過 Tortoise ORM 定義 Model 與 Schema
      • 使用 async/await 進行非同步的資料庫 CRUD 操作
      • 透過 Tortoise ORM 操作關聯性資料與聚合查詢
  • Day 4:現代前端版面配置與響應式設計、JavaScript 動態互動、與非同步資料獲取
    • 前端 DOM 結構與 CSS 排版核心
      • HTML5 語意化標籤與 DOM 樹狀結構解析
      • CSS3 核心:Box Model、Flexbox 彈性排版與 Grid 網格佈局
    • RWD 與 Bootstrap 應用
      • 響應式網頁設計 RWD (Responsive Web Design) 及 Media Queries 原理
      • 導入 Bootstrap 前端框架 簡介
      • Bootstrap 網格系統 Grid System 實作跨裝置自適應版面
      • 常用 Bootstrap 元件快速套用 ~ 導覽列、卡片、表單、互動式 Modal
    • JavaScript ES6+ 核心與 DOM 操控
      • 變數、箭頭函數、與解構賦值
      • 陣列的高階方法 ~ map, filter, reduce
      • JavaScript 事件監聽 Event Listeners 與 DOM 動態渲染
    • AJAX、Fetch API 與非同步請求
      • 前端的非同步思維:Callback, Promises 與 async/await
      • 實作 AJAX / Fetch API 向第三方開放資料發送 GET/POST 請求
      • 將獲取到的 JSON 資料動態渲染至 Bootstrap 卡片或表格中
  • Day 5:輕量級 Web 框架 Flask 基礎
    • Python Flask 框架簡介與路由
      • Web 框架的運作原理與 Flask 的微框架特性
      • 結合 Decorator 概念:理解 Flask 的 @app.route 路由註冊
      • Request 物件解析(GET 參數與 POST 表單資料)與 Response 物件
    • Flask 視圖與資料庫整合
      • Flask 結合 Tortoise ORM (或其他的 Python SQL Client 套件) 進行資料庫存取
      • 基礎模板渲染 (Jinja2) 概念簡介
      • 實作簡單的網頁版 CRUD 管理介面
  • Day 6:RESTful API 開發與前後端分離實戰
    • Flask RESTful API 設計與實作
      • 何謂 RESTful 架構風格?(HTTP Methods: GET, POST, PUT, DELETE 的正確語意)
      • 使用 Flask 打造 JSON 格式的 API 端點 (Endpoints)
      • API 狀態碼 (Status Codes) 管理與例外錯誤處理
      • 跨來源資源共用 (CORS) 概念與設定
    • 前後端整合演練與課程總結
      • 綜合實戰:前端使用 Bootstrap + JavaScript Fetch API,非同步呼叫後端自己開發的 Flask RESTful API,並透過 Tortoise ORM 存取資料庫。
      • 檢視實作成果:完成一個具備完整 CRUD 功能的單頁式/微型前後端分離應用。
      • 課程總結與展望:Django 實務班預告(從輕量級 Flask 邁向企業級 Django 架構的心態轉換)。



 ※可用於行銷文宣,以求能精準吸引到目標群眾。

  • 本課程旨在協助稍具 Python 程式語言基礎及 SQL 資料庫基礎之學員,建立嚴謹的物件導向軟體工程思維與 Web 應用系統架構觀念,目標為消弭初階語法與進階 Web 框架(如 Django)之間的知識斷層。
  • 針對後端開發,深入探討了 Python 的 OOP 物件導向設計、進階語法、非同步 I/O 模型,也闡述了關聯式資料庫正規化理論、說明如何從 ERD 轉移到 ORM 的典範,並以 Python Tortoise ORM 進行實作體驗。
  • 前端開發的部份,則探討了 DOM 及 JavaScript 的各種應用,包含 AJAX / Fetch API 與非同步請求,並搭配 Bootstrap 網頁設計框架來達成 RWD 響應式設計。
  • 課程後段採用 Flask 輕量級 Web 框架,實作符合 REST 軟體架構風格之 API。前後端分離之系統架構,為學員建構紮實的資訊技術與實務開發能力,進而能順利且有效地銜接 Django 高階全端應用程式開發之專業課程。


 簡述課程概要:

  • 本課程規劃為 36 小時之密集學程,內容涵蓋三大核心領域:資料庫系統管理及操作、後端程式邏輯、以及前端網頁工程。
  • 課程首先探究 Python 物件導向特性與非同步 (Asynchronous) 程式設計模型;接續引入關聯式資料庫系統 (RDBMS) 理論,並運用實體關聯模型 (ER-Model) 進行資料庫綱要 (Schema) 設計,再解析物件關聯對映 (ORM) 之底層映射機制。
  • 課程接著導入 JavaScript 以進行前端 DOM 操作,並透過 AJAX / Fetch API 取得外部資料,同時也搭配了 Bootstrap 5 的 RWD 響應式框架,讓網頁的呈現更動態、更適切而美觀。
  • 課程後段則以輕量級 Web 框架 Flask 為載體,實作符合 REST 軟體架構風格之 API,最終完成前後端分離 (Decoupled Architecture) 之現代化 Web 應用系統整合實作。


 a. 知識:

 ※描述學員在學科理論面能獲得的知識。

  • 進階程式設計的思維: 剖析物件導向設計 OOP 之封裝、繼承、多型原理,並探討一級函數 First-Class Functions、閉包 Closures 與裝飾器 Decorators 之底層運作邏輯。
  • 非同步架構與 I/O 模型: 解析 Asyncio 與事件迴圈 Event Loop 運作機制,對比同步與非同步處理架構在 Web 系統中之運算效能差異與適用場景。
  • 資料庫系統與關聯模型理論: 奠基於資料庫正規化 Normalization 原則,精熟實體關聯圖 ERD 之建構,並透徹理解關聯式模型轉換至物件關聯對映 ORM 之映射法則與查詢瓶頸分析。
  • 現代 Web 通訊協定與架構: 探討 HTTP 請求/回應機制,解析 JSON 資料序列化結構,並嚴格遵循 RESTful 軟體架構風格進行 API 介面設計規範。


 b. 技能:

 ※描述實際操作體驗能獲得的練習方式與內容。

  • 資料庫操作與優化實務: 具備編寫複雜 SQL JOIN 查詢及聚合運算之能力,熟稔 Python SQL Client 之原生操作及交易 Transaction 管理,並能實作 Tortoise ORM 進行非同步 CRUD 數據處理。
  • 前端介面 DOM 操控與動態渲染: 運用 Bootstrap 框架實作符合 RWD 標準之響應式網頁,並以 JavaScript 進行 DOM 節點操作與事件監聽 Event-Driven Programming。
  • 非同步請求與 API 開發:於前端應用 Fetch API 執行非同步資料傳輸;於後端應用 Flask 微型框架建構符合 RESTful 標準之 JSON API 端點,並實作跨來源資源共用 CORS 策略。
  • 前後端分離系統整合: 具備將前端介面、後端路由邏輯與資料庫存取層進行模組化整合之能力,親手構建高內聚、低耦合之單頁式應用程式 SPA。


 c. 成效:

 ※上完本課程後,學員在職涯上有什麼實際的效果與幫助。

  • 建立進階框架之學理基礎: 弭平初學者過渡至企業級重量框架 (如 Django) 之知識壁壘,使學員面對複雜系統架構與設計模式 Design Patterns 時,能以扎實的技術觀念進行推理與解構。
  • 培養獨立系統分析與設計能力: 賦予學員從需求萃取、資料庫 Schema 塑模,至 API 介面規格制定的全端系統規劃能力,跳脫單純的程式碼撰寫層次。
  • 產出具備工程規範之專題成果: 結訓時將完成一套符合現代化前後端分離架構之微型資訊系統,充分展現學員在軟體工程實務上之技術整合與解題能力。


 ※填寫適合的關鍵字,讓學員可依照關鍵字搜尋到本課程。

  • 進階程式設計: Python 進階語法, 物件導向程式設計 OOP, 非同步程式設計 Asynchronous I/O, 裝飾器應用 Decorators
  • 軟體工程與架構: 軟體設計模式 Design Patterns, 前後端分離架構 Decoupled Architecture, RESTful API 設計規範
  • 應用程式框架: Flask 微型框架, Django 全端應用框架
  • 資料庫系統工程: SQL,關聯式資料庫 RDBMS, MariaDB, MySQL, 實體關聯模型 ER-Model, 資料庫塑模 ERD, 資料庫正規化 Database Normalization, 物件關聯對映 ORM, Tortoise ORM
  • 前端工程與通訊: HTML/CSS/JavaScript, DOM 樹狀結構操作, Fetch API / AJAX, 響應式網頁設計 RWD, Bootstrap 框架, 單頁式應用程式 SPA, JSON 序列化傳輸
  • 職涯與進修: 全端開發 Full Stack, 前端開發 Front-End Development, 後端工程 Backend Engineering


  • 學歷:高中/職(含)以上
  • 資格條件:
    1. 具備電腦基本操作能力。
    2. 對 Python 程式語言稍具概念者。
    3. 對 HTML、CSS 網頁製作 及 JavaScript 程式語言稍具概念者。
    4. 對 SQL 關聯式資料庫稍具概念者。


  • 材料費估計: 無


  • Python v3
  • Visual Studio Code
  • MariaDB / MySQL Database Server


  • 本課程學員使用的電腦需要有開機不還原的磁區,才能將每週的開發進度持續保留下去,直到結訓為止。
  • 理想狀況,這個不還原的開機磁區最好能夠是新建的,且不與其他課程共用,以免相互干擾。



🔸總時數: 36 小時 (6 天,每天 6 小時)

  • Day 1:Python 進階特性與資料庫塑模基礎
    • 上午 (AM) - 物件導向 (OOP) 核心與裝飾器 (Decorator)
      • 類別、物件、屬性與方法,以及繼承與多型在實務上的應用
      • super() 函數與多重繼承概論(為 Django 視圖繼承打底)
      • 一級函數與閉包 (Closures) 概念
      • Python Decorator (裝飾器):原理解析、自訂裝飾器實作,及其在 Web 框架中的應用情境。
    • 下午 (PM) - 非同步設計與 ERD 實體關聯設計
      • Python 非同步程式開發:asyncio 模組、Event Loop 與 async/await 語法實戰。
      • 關聯式資料庫 (MariaDB) 與資料庫正規化 (Normalization) 原則。
      • 針對 Database Schema 的應用設計:實體關係圖 (ERD / ER-Model) 繪製與系統架構分析。
  • Day 2:SQL 實戰與 ORM 典範轉移
    • 上午 (AM) - 進階 SQL 與 Python SQL Client
      • 多表關聯查詢 (JOIN) 與聚合函數 (GROUP BY)。
      • Python SQL Client 實務:使用第三方套件連線資料庫執行原生 SQL (CRUD 操作)。
      • 游標 (Cursor)、交易 (Transaction) 管理與防範 SQL Injection 攻擊。
    • 下午 (PM) - 從 ERD 到 ORM 的轉換思維
      • 什麼是物件關聯對映 (ORM)?
      • 由 ERD 改為 ORM:如何將「資料表」轉換為「類別」,將「紀錄」轉換為「物件」。
      • 關聯性映射設計:一對一 (1:1)、一對多 (1:N)、多對多 (N:M) 的邏輯轉換與 N+1 查詢問題預警。
  • Day 3:非同步 ORM 與現代前端佈局
    • 上午 (AM) - Python Tortoise ORM 實戰
      • 結合 async/await 的現代化非同步 ORM 體驗。
      • 透過 Tortoise ORM 定義 Model 與 Schema。
      • 實作非同步的資料庫 CRUD 操作與關聯性資料查詢。
    • 下午 (PM) - 前端骨架與 RWD 響應式設計
      • HTML5 語意化標籤、DOM 樹狀結構與 CSS3 排版核心 (Flexbox)。
      • RWD 與 Bootstrap 5 應用:Media Queries 原理與導入 Bootstrap 框架。
      • Bootstrap 網格系統 (Grid System) 實作跨裝置自適應版面,與常用元件快速套用。
  • Day 4:JavaScript 動態互動與非同步請求
    • 上午 (AM) - JavaScript ES6+ 核心與 DOM 操控
      • JS 變數宣告、箭頭函數、解構賦值與陣列高階方法。
      • JavaScript 事件監聽 (Event Listeners) 與 DOM 動態渲染。
    • 下午 (PM) - AJAX 與 Fetch API 應用實戰
      • 前端的非同步思維:Callback, Promises 與 async/await。
      • AJAX 與 Fetch API:JSON 資料格式解析。
      • 實作 Fetch API 向第三方開放資料發送請求,並將獲取到的 JSON 資料動態渲染至 Bootstrap 介面中。
  • Day 5:輕量 Web 框架 Flask 與資料庫整合
    • 上午 (AM) - Python Flask 框架簡介與路由
      • Web 框架運作原理與 Flask 的微框架特性。
      • 結合 Day 1 的 Decorator 概念:理解 Flask 的 @app.route 路由註冊。
      • Request 物件解析(GET 參數與 POST 表單資料)與 Response 物件。
    • 下午 (PM) - Flask 結合 Tortoise ORM
      • 建立 Flask 應用程式並妥善配置資料庫連線。
      • 透過 Tortoise ORM 在 Flask 視圖函數中進行資料的存取與運算。
      • 基礎的後端資料封裝與例外錯誤處理。
  • Day 6:RESTful API 開發與前後端分離總成
    • 上午 (AM) - Flask RESTful API 設計與實作
      • 何謂 RESTful 架構風格?(HTTP Methods: GET, POST, PUT, DELETE 的正確語意)。
      • 使用 Flask 打造 JSON 格式的 API 端點 (Endpoints)。
      • API 狀態碼 (Status Codes) 管理與跨來源資源共用 (CORS) 設定。
    • 下午 (PM) - 前後端分離整合演練與課程總結
      • 綜合實戰:前端使用 Bootstrap + JS Fetch API,非同步呼叫後端開發的 Flask RESTful API,並透過 Tortoise ORM 存取資料庫。
      • 檢視實作成果:完成一個具備完整 CRUD 功能的微型單頁式應用 (SPA)。
      • 課程總結:從 Flask 邁向企業級 Django 架構的心態轉換與實務班預告。


🔸總時數: 48 小時 (8 天,每天 6 小時)

  • Day 1:Python 物件導向與進階特性
    • 上午 (AM) - 物件導向 (OOP) 核心與實作
      • 類別 (Class) 與物件 (Object) 的深入探討與記憶體配置概念
      • 屬性、方法與特殊建構式 (init, str, repr)
      • 封裝、繼承與多型 (Polymorphism) 在實務上的應用
      • super() 函數與多重繼承概論(為理解 Django 複雜的視圖繼承打底)
    • 下午 (PM) - 函數進階與裝飾器 (Decorator)
      • 一級函數 (First-Class Functions) 與閉包 (Closures) 的概念
      • [新增] Python Decorator (裝飾器):原理解析與自訂裝飾器實作
      • 帶參數的裝飾器與 functools.wraps 的應用
      • 裝飾器在 Web 框架中的常見情境(如:權限驗證、路由註冊預熱)
  • Day 2:非同步程式設計與關聯式資料庫基礎
    • 上午 (AM) - Python 非同步程式開發 (Asynchronous Programming)
      • 同步 (Synchronous) 與非同步 (Asynchronous) 的效能差異與應用場景
      • 深入理解 asyncio 模組與 Event Loop (事件迴圈)
      • async 與 await 語法實戰:建立非同步任務與並行處理
      • 非同步設計在現代 I/O 密集型 Web 應用中的重要性
    • 下午 (PM) - 關聯式資料庫與 ERD 實體關聯設計
      • 關聯式資料庫 (MariaDB) 概念與圖形化工具 (DBeaver/VS Code SQL) 操作
      • 資料庫正規化 (Normalization) 原則
      • 實體關係圖 (ERD / ER-Model) 繪製與系統架構分析
      • SQL 基礎回顧與 DDL (資料定義語言) 實作
  • Day 3:進階 SQL 操作與 Python SQL Client
    • 上午 (AM) - 複雜資料查詢與操作 (SQL DML & DQL)
      • 多表關聯查詢:INNER JOIN, LEFT/RIGHT JOIN, FULL OUTER JOIN
      • 聚合函數 (SUM, AVG, COUNT) 與資料分組 (GROUP BY, HAVING)
      • 子查詢 (Subqueries) 與視圖 (Views) 應用
    • 下午 (PM) - [新增] Python SQL Client 實務
      • 使用 Python 第三方套件 (如 mariadb 或 pymysql) 連線資料庫
      • 透過 Python 執行原生 SQL 語法 (CRUD 操作)
      • 游標 (Cursor) 的操作與 Transaction (交易) 管理:Commit 與 Rollback
      • 防範 SQL Injection 攻擊:參數化查詢 (Parameterized Queries)
  • Day 4:從 ERD 到 ORM 的典範轉移
    • 上午 (AM) - [新增] Database Schema 設計與 ORM 映射思維
      • 什麼是物件關聯對映 (Object-Relational Mapping, ORM)?
      • 由 ERD 改為 ORM:如何將「資料表 (Tables)」轉換為「類別 (Classes)」,將「紀錄 (Rows)」轉換為「物件 (Instances)」
      • 關聯性映射設計:一對一 (One-to-One)、一對多 (One-to-Many)、多對多 (Many-to-Many) 的 ORM 邏輯轉換
      • ORM 的優缺點分析與 N+1 查詢問題預警
    • 下午 (PM) - [新增] Python Tortoise ORM 實戰
      • 為什麼選擇 Tortoise ORM?(結合非同步架構的現代 ORM 體驗)
      • 透過 Tortoise ORM 定義 Model 與 Schema
      • 使用 async/await 進行非同步的資料庫 CRUD 操作
      • 透過 Tortoise ORM 操作關聯性資料與聚合查詢
  • Day 5:現代前端版面配置與響應式設計
    • 上午 (AM) - 前端 DOM 結構與 CSS 排版核心
      • HTML5 語意化標籤與 DOM 樹狀結構解析
      • CSS3 核心:Box Model、Flexbox 彈性排版與 Grid 網格佈局
    • 下午 (PM) - [新增] RWD 與 Bootstrap 5 應用
      • 什麼是響應式網頁設計 (Responsive Web Design, RWD)?Media Queries 原理
      • 導入 Bootstrap 5 前端框架
      • Bootstrap 網格系統 (Grid System) 實作跨裝置自適應版面
      • 常用 Bootstrap 元件快速套用(導覽列、卡片、表單、互動式 Modal)
  • Day 6:JavaScript 動態互動與非同步資料獲取
    • 上午 (AM) - JavaScript ES6+ 核心與 DOM 操控
      • JS 變數 (let, const)、箭頭函數與解構賦值
      • 陣列的高階方法 (map, filter, reduce)
      • JavaScript 事件監聽 (Event Listeners) 與 DOM 動態渲染
    • 下午 (PM) - [新增] AJAX、Fetch API 與非同步請求
      • 前端的非同步思維:Callback, Promises 與 async/await(呼應 Day 2 的 Python 經驗)
      • 什麼是 AJAX?JSON 資料格式解析
      • 實作 Fetch API 向第三方開放資料發送 GET/POST 請求
      • 將獲取到的 JSON 資料動態渲染至 Bootstrap 卡片或表格中
  • Day 7:輕量級 Web 框架 Flask 基礎
    • 上午 (AM) - [新增] Python Flask 框架簡介與路由
      • Web 框架的運作原理與 Flask 的微框架特性
      • 結合 Day 1 的 Decorator 概念:理解 Flask 的 @app.route 路由註冊
      • Request 物件解析(GET 參數與 POST 表單資料)與 Response 物件
    • 下午 (PM) - Flask 視圖與資料庫整合
      • Flask 結合 Tortoise ORM (或 Python SQL Client) 進行資料庫存取
      • 基礎模板渲染 (Jinja2) 概念簡介(將重心保留給後續的 API 開發)
      • 實作簡單的網頁版 CRUD 管理介面
  • Day 8:RESTful API 開發與前後端分離實戰
    • 上午 (AM) - [新增] Flask RESTful API 設計與實作
      • 何謂 RESTful 架構風格?(HTTP Methods: GET, POST, PUT, DELETE 的正確語意)
      • 使用 Flask 打造 JSON 格式的 API 端點 (Endpoints)
      • API 狀態碼 (Status Codes) 管理與例外錯誤處理
      • 跨來源資源共用 (CORS) 概念與設定
    • 下午 (PM) - 前後端整合演練與課程總結
      • 綜合實戰:前端使用 Bootstrap + JS Fetch API,非同步呼叫後端自己開發的 Flask RESTful API,並透過 Tortoise ORM 存取資料庫。
      • 檢視實作成果:完成一個具備完整 CRUD 功能的單頁式/微型前後端分離應用。
      • 課程總結與展望:Django 實務班預告(從輕量級 Flask 邁向企業級 Django 架構的心態轉換)。
  • open/mol/django_basic.1773713142.txt.gz
  • 上一次變更: 2026/03/17 10:05
  • wenchin