open:mol:dj

這是本文件的舊版!


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

Python Django 網站應用程式設計實務班



  • 總時數: 48 小時 (8 天,每天 6 小時)
    • day 1 ~ am
      • 課程簡介
      • Django 全端網頁應用框架簡介
      • Django 開發環境設置


    • day 1 ~ pm
      • Django 專案開發實作初體驗 ~ 採用官網「Polls 民調問卷」範例


    • day 2 ~ am
      • Django ORM 簡介
        • 物件化的 ORM 與 傳統的 ER-Model 之異同
        • 採用 Django ORM 物件化的存取指令 取代 SQL Script 腳本
        • Models 之間的對應關係 ~ relationships
      • Django shell 及 dbshell 工具簡介
      • 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-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 授權模組」
      • 為 RESTful API 導入 JSON Web Tokens (JWT) 認證架構
        • JWT 簡介與範例實作
        • 為 DRF 擴充 SimpleJWT Module 以導入 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



 3. 訓練需求概述:

  • 近年來,因氣候變遷加劇,引起了全球社會的關注,為了環境永續,節能減碳及能源轉型的相關政策或議題已成為國際性的主流盛事。
  • 身為地球公民或背負企業社會責任的一份子,除了配合政府政策之外,還有哪些層面是我們可以再進一步著墨改善的呢?
    或許從「智能建築、智慧家居、智慧能源、智能農業、智能工廠、環境監測、車隊管理、智能運輸」等幾個主題來下手會是個解方。
  • 開始探究這些技術時發現它們有個共同點,也就是都有一個「物聯網整合平臺」做為管理基礎。透過這個平臺,即時的環境監控訊息或裝置訊息才得以收集,自動化的應對策略或演算法才得以運行,進而達到節能減碳最佳化的目標。
  • 本訓練課程可以激發更多的公眾的來參與這項盛事,透過學習「微控板、物聯網、車隊管理 整合平臺」的相關技術並應用於職場上,讓企業更有能力、也更積極來參與節能減碳的實踐,提升企業形象,滿足社會對永續發展的期望。


 1. 單位核心能力介紹:

  • :?:


 2. 知識:

  • 本課程涵蓋四大單元,分別為:㈠ 基礎導論、㈡ Node-RED 物聯網整合平臺、㈢ ESP32 微控板 + MicroPython 應用程式開發、㈣ OwnTracks / Traccar 定位追蹤系統、並於課程結束前採分組方式進行專題製作及展示。
  • 課程設計旨在將「物聯網、微控板、車隊管理」等同一系列的相關技術整併於一個課程中來加以闡述及實作,以使學員能融會貫通物聯網的相關知識及應用。
  • 單元一:物聯網導論,並介紹物聯網常用的幾種通訊協定。
  • 單元二:引用 Node-RED 視覺化 IoT 應用程式開發工具,它是以 Web Application 的形式來扮演 IoT 的訊息控制中心,並提供簡易且可客製化的頁面設計,為「物聯網中央控制平臺」提供了快速導入的解決方案。
  • 單元三:先從各類微控板及感測裝置的組裝配線講起,然後介紹幾款常用的微控板應用程式開發工具。首先以 ESPHome 開發基本應用範例,隨後採用 MicroPython 來開發客製化的應用程式,並示範微控板如何驅動各類型的感測裝置,也展示了如何透過各種網路通訊協定來與外部系統連結,以形成物聯網架構。
  • 單元四:介紹 Traccar 平臺,分別用於 人員定位追踨 及 車隊管理,將物聯網的應用推及至「人車即時位置的感知」層面。
  • 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。


 3. 技能:

  • 能架設 Node.js 後端 JavaScript 程式開發工具,亦能架設 Node-RED Server。
  • 能透過 Node-RED 視覺化開發工具,來建置各類 IoT 應用程式的 Flow 流程。
  • 能客製化 Node-RED Dashboard 儀表板,來與使用者進行互動,或與外部系統整合。
  • 能使用 Node-RED 開發 MVC 架構的網頁應用程式,並將感測器資料存入資料庫中。
  • 能理解各類微控板及感測裝置的各種 GPIO 引腳配置、規格、及用途,如:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。
  • 能操作 Thonny 或 Arduino Lab for MicroPython 整合開發工具,來管理或執行 微控板中的 MicroPython 程式。
  • 能善用 MicroPython 來開發 ESP32 微控板 及 各類感測裝置的 應用程式
  • 能善用各種物聯網常用的通訊協定,如:TCP Socket, MQTT, HTTP, CoAP, RTSP 等,來開發應用程式,並與外部系統相互溝通。
  • 能擷取網路上的 Open Data 開放資料,來模擬 IoT Sensor。
  • 能透過手機 OwnTracks App 經由 MQTT Server 將 GPS 即時經緯度座標傳給任何接收端。
  • 能在網頁中透過 MQTT over WebSocket 取得資料來源中的經緯度座標,並更新至網頁地圖上。
  • 能架設 Traccar Server 建構車隊管理系統,在網頁地圖中實現車輛的位置追蹤、資料收集和管理。


 4. 學習成效:

  • 培養實務經驗: 透過課程中豐富的實作範例,學員將能夠實際動手應用所學知識,獲得實戰經驗。
  • 問題解決技巧: 課程中留有諸多的衍生題目,學員將面臨各種挑戰,也將提升解決問題的能力。
  • 團隊協作能力: 分組專題的設計和實作,將培養學員的團隊協作與溝通能力。
  • 創意思維培養: 學員透過設計和展示專案,培養創意思維,將理論知識轉化為創新的實踐應用。


 5. 職能級別:

  • :?:


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


  • 材料費估計:


  • Python v3
  • Visual Studio Code
  • MariaDB / MySQL Database Server
  • open/mol/dj.1767261714.txt.gz
  • 上一次變更: 2026/01/01 18:01
  • wenchin