
這是 Django Ninja 系列教學的第 3 篇。
選擇任何工具之前,我們通常會先了解它能解決的問題,以及是否符合與自己的需求。
本文將介紹 Django Ninja 這個現代化的 API 框架,探討它的起源和主要特點,並重點比較它與 Django REST framework 之間的差異,讓你能夠更好地選擇適合的工具。
快速導覽
👉 完整系列目錄:點此查看
👉 程式碼範例:GitHub 範例專案
Django Ninja:Django 生態系中的 FastAPI
Django Ninja 的起源與 FastAPI 有著密切的關係。
Django Ninja 可以被視為「Django 版的 FastAPI」,它比原生 FastAPI 能夠更好地與 Django 整合。
Django Ninja 的官方文件中,作者 Vitaliy Kucheryaviy 解釋了為什麼建立這個框架。這源於他在 Django 專案中使用 FastAPI 時遇到的一些挑戰,特別是在整合方面。
因此,他決定自己建立一個更合適的工具,從而誕生了 Django Ninja。
可想而知,Django Ninja 深受 FastAPI 的啟發。事實上,它同時也借鑑了不少 Django REST framework 的優秀實踐——這是後發者的優勢!
文件中引用了這麼一句話,這是個常見的疑問:
Django Ninja looks basically the same as FastAPI, so why not just use FastAPI?
答案是:Django 與 FastAPI 兩者的整合不完美,而 Django Ninja 提供了一個更加適合 Django 開發者的版本。