iT邦幫忙

2

Django RESTful API 入門筆記 - 1 - Django 和 RESTful API 介紹

  • 分享至 

  • xImage
  •  

1️⃣ Django 介紹

Django 是一個 高效能的 Python Web 框架,提供工具來快速開發 Web 應用程式,具有以下特色:

  • ORM(Object-Relational Mapping):以 Python 物件操作資料庫,而無需直接撰寫 SQL。
  • 內建認證系統:提供用戶管理、權限控制,減少開發工作量。
  • 表單處理:內建表單驗證與數據處理,提升開發效率。

🔹 Django MVT 架構

Django 採用 MVT(Model-View-Template)架構,與 MVC(Model-View-Controller) 相似:

層級 說明 MVC 對應層級
Model(模型層) 負責數據處理與資料庫操作 Model
View(視圖層) 負責處理業務邏輯,返回 HTTP 響應 Controller
Template(模板層) 負責 HTML 渲染與前端顯示 View

2️⃣ RESTful API 介紹

RESTful API(Representational State Transfer)是一種基於 HTTP 協議 的 API 設計架構,讓前後端透過 標準化的方式 進行數據傳遞與操作。

🔹 資源(Resource)

  • 每個 URL 代表一個「資源」,通常對應到資料庫中的一個對象(例如用戶、文章、商品)。
  • 範例
    • /users/1/ → 代表 ID 為 1 的用戶資料
    • /posts/5/ → 代表 ID 為 5 的文章

🔹 HTTP 方法(Methods)

方法 功能
GET 取得資源
POST 新增資源
PUT/PATCH 更新資源
DELETE 刪除資源

🔹 無狀態(Stateless)

  • API 不應該記錄客戶端的狀態,每次請求都應該包含完整的資訊。
  • 例如,登入驗證通常使用 JWT Token 而非 Session。

🔹 JSON 作為傳輸格式

  • 使用 JSON(JavaScript Object Notation) 進行數據交換,因為它簡單、易讀且能夠跨平台。
  • 範例
    {
      "id": 1,
      "name": "John Doe",
      "email": "[email protected]"
    }
    

3️⃣ 為什麼選擇 RESTful API?

優勢 說明
前後端分離 前端(React/Vue/Angular)和後端(Django REST API)可獨立開發,提高靈活性
跨平台支援 RESTful API 可供不同平台(Web、App、IoT)訪問
結構清晰 統一的 URL 和 HTTP 方法讓 API 易讀、易測試
擴展性強 可搭配身份驗證(JWT/OAuth)、快取(Redis)、非同步處理(Celery)等

4️⃣ Django RESTful API 適合開發的專案

前後端分離的專案:前端使用 Vue.js / React / Angular,後端 Django 提供 API。
行動應用(Mobile App)開發:後端提供 API,供 iOS / Android 客戶端調用。
微服務架構(Microservices):不同服務間透過 API 進行數據交互。
第三方 API 服務:Django REST Framework 可用於開放 API 供開發者使用。。

5️⃣ 參考文件


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言