目錄表

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

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 輸出於前端網頁
    • 導入 RWD 技術、採用 Bootstrap 來優化前端頁面
    • 應用 Django 內建的 messages 框架,來傳遞各種提示訊息至前端頁面


  • day 4 ~ am
    • 為 Django 專案 建立系統功能選單
    • 採用 django-simple-captcha 模組,在登入時提供 CAPTCHA 圖形驗證碼
    • 資料視覺化 ~ 前端網頁圖表繪製工具 Echarts.js 簡介
    • 搭配 Python Pyecharts Module 以生成 ECharts 圖表頁面


  • 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
    • 問題與討論



訓練班別計畫表

🔸 課程目標

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


🔸 課程特色

 簡述課程概要:


 a. 知識:

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


 b. 技能:

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


 c. 成效:

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


🔸 能力專長

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


🔸 學員資格


🔸 訓練費用編列說明


🔸 課程使用軟體(開發環境)


🔸 上課教室配置