django-expert

django-expert

熱門

專業 Django 後端開發指引。在建立 Django 模型、檢視、序列化器或 API;偵錯 ORM 查詢或遷移;最佳化資料庫效能;實作驗證;撰寫測試;或使用 Django REST Framework 時使用。遵循 Django 最佳實務與現代模式。

110星標
12分支
更新於 2026/7/23
SKILL.md
唯讀
名稱
django-expert
描述

專業 Django 後端開發指引。在建立 Django 模型、檢視、序列化器或 API;偵錯 ORM 查詢或遷移;最佳化資料庫效能;實作驗證;撰寫測試;或使用 Django REST Framework 時使用。遵循 Django 最佳實務與現代模式。

Django Expert

概述

此技能提供 Django 後端開發的專業指引,涵蓋模型、檢視、Django REST Framework、表單、驗證、測試與效能最佳化。遵循官方 Django 最佳實務與現代 Python 慣例,協助你建立穩固、可維護的應用程式。

主要能力:

  • 使用最佳 ORM 模式的模型設計
  • 檢視實作(FBV、CBV、DRF viewsets)
  • Django REST Framework API 開發
  • 查詢最佳化與效能調校
  • 驗證與權限
  • 測試策略與模式
  • 安全最佳實務

使用時機

遇到以下觸發條件時,請呼叫此技能:

模型與資料庫工作:

  • "建立一個 Django 模型來..."
  • "最佳化這個 queryset/資料庫查詢"
  • "為...產生遷移"
  • "設計資料庫綱要..."
  • "修正 N+1 查詢問題"

檢視與 API 開發:

  • "為...建立 API 端點"
  • "建立一個 Django 檢視來..."
  • "實作 DRF 序列化器/檢視集"
  • "為 API 加入篩選/分頁"

驗證與安全:

  • "實作驗證/權限"
  • "建立自訂使用者模型"
  • "保護此端點/檢視"

測試與品質:

  • "為這個 Django 應用程式撰寫測試"
  • "偵錯這個 Django 錯誤/問題"
  • "審查 Django 程式碼中的問題"

效能與最佳化:

  • "這個 Django 檢視很慢"
  • "最佳化資料庫查詢"
  • "為...加入快取"

生產環境部署:

  • "將 Django 部署到生產環境"
  • "為生產環境設定 Django"
  • "為 Django 設定 HTTPS/SSL"
  • "生產環境設定檢查清單"
  • "設定生產環境資料庫/快取"

指示

處理 Django 開發請求時,請遵循以下工作流程:

1. 分析請求並收集背景資訊

識別任務類型:

  • 模型設計(資料庫綱要、關聯、遷移)
  • 檢視/API 開發(FBV、CBV、DRF viewsets、序列化器)
  • 查詢最佳化(N+1 問題、資料庫效能)
  • 驗證/權限(使用者模型、存取控制)
  • 測試(單元測試、整合測試、fixtures)
  • 安全審查(CSRF、XSS、SQL 注入、權限)
  • 生產環境部署(設定、HTTPS、資料庫、快取、監控)
  • 模板渲染(Django 模板、context processors)

利用可用的背景資訊:

  • 如果 django-ai-boost MCP 伺服器可用,請用它來了解專案結構與現有模式
  • 閱讀相關現有程式碼以了解慣例
  • 檢查 Django 版本以確保相容性

2. 載入相關參考文件

根據任務類型,參考適當的捆綁文件:

  • 模型/ORM 工作 -> references/models-and-orm.md

    • 模型設計模式與欄位選擇
    • 關聯設定(ForeignKey、ManyToMany)
    • 自訂管理員與 QuerySet 方法
    • 遷移策略
  • 檢視/API 開發 -> references/views-and-urls.md + references/drf-guidelines.md

    • FBV 與 CBV 的決策標準
    • DRF 序列化器、viewsets 與 routers
    • URL 設定模式
    • 中介軟體與請求/回應處理
  • 效能問題 -> references/performance-optimization.md

    • 查詢最佳化技術(select_related、prefetch_related)
    • 快取策略(Redis、Memcached、資料庫快取)
    • 資料庫索引與查詢分析
    • 連線池與非同步模式
  • 生產環境部署 -> references/production-deployment.md

    • 關鍵設定(DEBUG、SECRET_KEY、ALLOWED_HOSTS)
    • HTTPS 與 SSL/TLS 設定
    • 資料庫與快取設定
    • 靜態/媒體檔案服務
    • 錯誤監控與記錄
    • 部署流程與健康檢查
  • 安全問題 -> references/security-checklist.md

    • CSRF/XSS/SQL 注入防範
    • 驗證與授權模式
    • 安全設定實務
    • 輸入驗證與清理
  • 測試任務 -> references/testing-strategies.md

    • 測試結構與組織
    • Fixtures 與 factories
    • 模擬外部相依
    • 覆蓋率與 CI/CD 整合

3. 遵循 Django 最佳實務實作

程式碼品質標準:

  • 遵循 PEP 8 與 Django 編碼風格
  • 盡可能使用 Django 內建功能而非第三方套件
  • 保持檢視精簡,使用服務/管理員處理商業邏輯
  • 撰寫具描述性的變數名稱,並為複雜邏輯加入 docstrings
  • 使用適當的例外處理優雅地處理錯誤

Django 特定模式:

  • 對 FK/OneToOne 使用 select_related(),對反向 FK/M2M 使用 prefetch_related()
  • 利用基於類別的檢視與 mixins 進行程式碼重用
  • 使用 Django 表單/序列化器進行驗證
  • 遵循 Django 的遷移工作流程(絕不編輯已套用的遷移)
  • 使用 Django 內建的安全功能(CSRF tokens、auth decorators)

API 開發(DRF):

  • 對標準 CRUD 操作使用 ModelSerializer
  • 實作適當的分頁與篩選
  • 使用適當的權限類別
  • 遵循 RESTful 慣例設計端點
  • 在進行破壞性變更時對 API 進行版本控制

4. 驗證與測試

在提出解決方案之前:

程式碼審查:

  • 檢查 N+1 查詢問題(在腦中模擬 Django Debug Toolbar)
  • 確認正確的錯誤處理與邊界情況
  • 確保遵循安全最佳實務
  • 確認遷移乾淨且可逆

測試考量:

  • 為新功能建議或撰寫適當的測試
  • 驗證關鍵路徑的測試覆蓋率
  • 檢查 fixtures/factories 是否可維護

效能檢查:

  • 檢視資料庫查詢的效率
  • 考慮快取機會
  • 確認正確使用資料庫索引

捆綁資源

references/ - 完整的 Django 文件,視需要載入到背景資訊中

這些參考檔案提供比本 SKILL.md 概述更詳細的指引:

  • references/models-and-orm.md(約 11,000 字)

    • 模型欄位類型與最佳實務
    • 關聯設定(ForeignKey、OneToOne、ManyToMany)
    • 自訂管理員與 QuerySet 方法
    • 遷移模式與常見陷阱
    • 資料庫層級約束與索引
  • references/views-and-urls.md(約 17,000 字)

    • 函式型檢視與類別型檢視的取捨
    • CBV mixins 與繼承模式
    • URL 路由與反向解析
    • 中介軟體實作
    • 請求/回應生命週期
  • references/drf-guidelines.md(約 18,000 字)

    • 序列化器模式(ModelSerializer、巢狀序列化器)
    • ViewSet 與 router 設定
    • 分頁、篩選與搜尋
    • 驗證與權限類別
    • API 版本控制策略
    • API 效能最佳化
  • references/testing-strategies.md(約 18,000 字)

    • 測試組織與結構
    • Factory 模式與 fixtures 的比較
    • 測試檢視、模型與序列化器
    • 模擬外部服務
    • 測試資料庫最佳化
    • CI/CD 整合
  • references/security-checklist.md(約 12,000 字)

    • CSRF 保護實作
    • XSS 防範技術
    • SQL 注入防禦
    • 驗證最佳實務
    • 權限與授權模式
    • 安全設定設定
  • references/performance-optimization.md(約 14,000 字)

    • 查詢最佳化(select_related、prefetch_related、only、defer)
    • 資料庫索引策略
    • 快取層(Redis、Memcached、資料庫快取)
    • 資料庫連線池
    • 分析與監控工具
    • 非同步檢視與背景任務
  • references/production-deployment.md(約 20,000 字)

    • 關鍵設定(DEBUG、SECRET_KEY、ALLOWED_HOSTS)
    • 資料庫設定與連線池
    • HTTPS/SSL 設定與安全標頭
    • 靜態與媒體檔案服務
    • 使用 Redis/Memcached 快取
    • 生產環境郵件設定
    • 使用 Sentry 進行錯誤監控
    • 記錄與健康檢查
    • 零停機部署策略
  • references/examples.md - 實作範例

    • 使用自訂管理員的模型設計
    • N+1 查詢最佳化
    • DRF API 端點實作
    • 撰寫 Django 測試

其他注意事項

Django 版本相容性:

  • 生產環境考慮使用 LTS 版本(4.2、5.2)
  • 升級時檢查棄用警告
  • 使用 django-upgrade 工具進行自動化遷移

應避免的常見陷阱:

  • 循環匯入(使用延遲參考)
  • 在關聯上遺漏 related_name
  • 忘記在頻繁查詢的欄位上建立資料庫索引
  • 使用 get() 時未處理例外
  • 模板與序列化器中的 N+1 查詢