Django 社區的長期貢獻者 Will Vincent 發文對近期發佈的 Django 開發者調查中的核心亮點與關鍵結論進行了解讀。 這項調查已進入第四年,是Django Software Foundation與PyCharm聯合發起的年度項目,彙總了全球超 4,600 名 Django 開發者的反饋。
2025 年 Django 核心趨勢
- HTMX 和 Alpine.js 是與 Django 搭配使用增長最快的 JavaScript 框架
- 四分之三 的 Django 開發者擁有 3 年以上 的專業編碼經驗
- 38% 的開發者使用人工智能 (AI) 來輔助學習 Django
- Django REST Framework (DRF) 是最受歡迎的第三方 Django 包
- 75% 的開發者正在使用 最新版本 的 Django
- 76% 的開發者選擇 PostgreSQL 作為他們的數據庫後端
- 63% 的開發者正在使用類型提示 (Type Hints)
- pytest 以 39% 的佔比成為最受歡迎的測試解決方案
行動建議
- 嘗試使用 HTMX。
- 嘗試使用 AI 進行輔助開發或學習。
- 將項目更新到 Django 的最新版本。
- 保持對 Django 生態系統新動態的關注。
- HTMX 與 Alpine.js 勢頭崛起
HTMX 與 Alpine.js 勢頭崛起
React 和 jQuery 仍是與 Django 搭配使用的兩大最熱門 JavaScript 框架,但 HTMX 和 Alpine.js 的發展勢頭持續增強。 這類技術更青睞服務器呈現模板加點綴式交互的實現方式。
在 20 年前 Django 剛發佈時,單頁應用程序 (SPA) 還十分少見。 當時多數網站依賴服務器呈現模板的超媒體模式;2006 年jQuery的推出讓開發者無需成為 JavaScript 專家,也能為頁面添加由 JavaScript 提供支持的交互效果。
時間快進至 10 年後,包括 Django 在內的許多 Web 框架開始更多地用於構建 RESTful API 後端,為 React、Angular、Vue 等專用 JavaScript 前端提供數據支持。
但自 2021 年 Django 調查啓動以來,技術趨勢已逐漸向服務器端模板迴歸。 HTMX 的使用率從 2021 年的 5% 增長至 24%,Alpine.js 則從 3% 增長至 14%。 與此同時,React 和 jQuery 的使用率持續下降:React 從 2021 年的 37% 降至 32%,jQuery 降至 26%。 值得注意的是,作為第三大熱門 JavaScript 框架的 Vue 的同期使用率也從 28% 降至 17%。
即將發佈的 Django 6.0 版本將為模板片段增加官方支持,這一舉措將進一步鞏固 HTMX/Alpine.js 組合的地位,使其成為開發者眼中切實可行的替代方案。 這項新功能的發佈也凸顯了 Django 生態系統的優勢之一,即擁有數千個可用的第三方軟件包。 部分軟件包最終會被納入核心代碼,此次的模板片段功能便是如此。該功能最初是由 Carlton Gibson 開發的django-template-partials,後在 Farhan Ali Raza 今年參與Google Summer of Code項目期間由其協助正式納入核心代碼。
這一切對 Django 而言意味着什麼? Django 能夠支持 Web 開發中的多種前端模式,這恰恰體現了它的成熟度與持續演進能力:對於偏好 SPA 架構的開發者,可以通過django-rest-framework或django-ninja構建 API 後端。同時,它也支持由 HTMX、Alpine.js 以及即將推出的模板片段功能增強的服務器呈現模板。 Django 在不斷迭代以滿足現代 Web 開發者需求的同時,依然保留了穩定性與安全性,正是這些特質,使其成為數百萬現有用户不可或缺的工具。
AI 使用率持續上升
大多數受訪者 (79%) 仍將官方文檔作為主要學習資源,其次是 Stack Overflow (39%),而 AI 工具與 YouTube 則並列第三(均為 38%)。 對於 AI 工具而言,考慮到幾年前這一類別尚未存在,如今能達到這樣的使用率已是顯著增長。 此外值得注意的是,博客 (33%) 與書籍 (22%) 的使用率如今已遠遠落後。
對於 Django 開發,69% 的受訪者表示使用 ChatGPT,其次是 GitHub Copilot (34%)、Anthropic Claude (15%) 和 JetBrains AI Assistant (9%)。 AI 最常用於三類任務,即自動補全 (56%)、代碼生成 (51%)和樣板代碼編寫 (44%)。 預計在明年的調查結果中,該領域的使用率可能會進一步提升。
從非正式交流來看,在今年的 DjangoCon Europe 和 DjangoCon US 上,許多會場外的討論都圍繞 AI 工具展開。 目前可用的 AI 工具類型包括聊天、自動補全和智能體,這些工具都比較新,儘管Django 論壇上已就AI 智能體規則和相關主題展開討論,但社區尚未就如何在 Django 開發中最佳利用這些工具達成共識。
Django 開發者經驗豐富
與今年早些時候發佈的Python 調查形成鮮明對比,後者顯示恰好有一半 (50%) 的受訪者擁有不到兩年的專業經驗,Django 開發者羣體則具備十分豐富的經驗:30% 的受訪者擁有 11 年以上經驗,其次是 6-10 年經驗 (26%) 和 3-5 年經驗 (21%)。 這意味着 77% 的 Django 開發者,即每 4 人中就有 3 人擁有至少三年的專業編碼經驗。
絕大多數受訪者 (82%) 除個人使用外,還會在工作中使用 Django。 約有一半 (51%) 的受訪者表示會結合 Django REST Framework,使用 Django 構建後端 API,而高達 80% 的受訪者會進行全棧開發,這無疑得益於日益豐富的服務器呈現模板選項。
強力類型提示支持
考慮到本次調查受訪者相對豐富的經驗,類型提示獲得廣泛支持或許並不意外:63% 的受訪者表示已在 Django 代碼中使用類型提示,另有 17% 計劃使用,總體支持率達到了驚人的 80%。
當被問及是否應在 Django 核心代碼中添加類型提示時(這是Django 指導委員會持續討論的議題),84% 的受訪者表示贊同,其中 45% 的受訪者還表示願意為此貢獻力量。
與 Python 類似,Django 長期以來一直致力於兼顧兩方面需求:既對新手友好,同時也為有經驗的開發者提供他們更青睞的高級工具,例如類型提示。
PostgreSQL 領跑數據庫領域
在偏好的數據庫後端方面,具有內置支持的數據庫佔據主導地位並不意外。PostgreSQL 以 76% 的佔比位居第一,其次是 SQLite (42%)、MySQL (27%) 和 MariaDB (9%)。 過去四年間,這些比例始終保持着極高的穩定性。
Oracle 的使用率持續保持相對增長,從 2021 年和 2022 年的 2%,攀升至 2023 年的 10% 和 2024 年的 9%。 MongoDB 等較新的數據庫也值得關注:即便沒有官方支持,它在 2023 年仍取得了 8% 的份額,這表明開發者存在對由 Django 提供支持的 NoSQL 選項的需求。 此調查結果是 Mongo 團隊決定投入開發官方Django MongoDB 後端的關鍵因素,該後端已於今年正式發佈。
未來幾年的數據庫支持趨勢值得關注。一方面,SQLite 在生產環境(而非僅本地開發)中的應用關注度回升;另一方面,MongoDB 等 NoSQL 選項的應用也在發展。同時,觀察 Oracle 能否繼續維持現有使用率也將是重要的跟蹤方向。
熱門第三方軟件包
當被問及最喜愛的五個第三方 Django 軟件包時,受訪者的答案呈現出長尾效應,這既體現了 Django 生態系統中軟件包的深度,也反映了其廣度。 djangopackages.org、awesome-django 倉庫以及新推出的Django 生態系統頁面等資源均表明,Django 的核心優勢在於其由第三方應用和附加組件構成的生態系統。
值得注意的是,Django REST Framework 以 49% 的支持率成為絕對熱門,緊隨其後的是 django-debug-toolbar (27%)、django-celery (26%)、django-cors-headers (19%)、django-filter (18%) 和 django-allauth (18%)。 在這些熱門軟件包之後,還有許多不同的軟件包獲得了支持,這再次印證了 Django 開發者可以選擇的軟件包範圍十分廣泛。
最新的 Django 版本佔據主導地位
絕大多數受訪者 (75%) 表示他們使用的是最新版本的 Django,考慮到其功能版本大約每八個月發佈一次的節奏,這一比例相當亮眼。 例如,Django 5.1 於 2024 年 8 月發佈,Django 5.2 於 2025 年 4 月發佈,Django 6.0 將於 2025 年 12 月推出。
儘管發佈節奏規律,Django 仍投入大量精力保持穩定性,並制定了完善的棄用與移除政策;破壞性更改十分罕見。
此外值得注意的是,部分功能版本(歷史上以 .2 結尾的版本,例如 3.2、4.2 和 5.2)被設計為長期支持 (LTS)版本,會在三年內持續獲得所有安全與數據丟失修正。
儘管僅更新每個 LTS 版本是一種選擇,但看到如此多的 Django 開發者選擇最新版本仍令人振奮,因為這能確保大家使用的是該框架最新、功能最完善的版本。 而且,逐次更新每個功能版本,比間隔數年再更新要容易得多。
pytest 佔據優勢
用 Django 聯合創作者 Jacob Kaplan-Moss 的話説:“沒有測試的代碼,本質上就是有設計缺陷的代碼。” Django 擁有基於 Python 的unittest庫構建的專屬測試框架,unittest 庫提供了針對 Web 應用程序定製的額外功能。 許多開發者還會使用 `pytest`(在更廣泛的 Python 社區中同樣流行)來獲得更多測試幫助。
調查顯示,`pytest` 仍是 Django 項目測試的最熱門選擇,佔比 39%,緊隨其後的是 unittest (33%)。 兩款 Django 專用插件 `pytest-django` 和 `django-test-plus` 也獲得了較高支持率。 21% 的開發者使用 `coverage` 庫,該庫能為項目測試覆蓋率提供實用的衡量方式。 排名更靠後的是端到端測試工具,例如 Selenium 和 Playwright
這些結果與 Python 生態系統中的其他情況一致:目前來看,`unittest` 和 `pytest`是測試 Python 庫的兩種主流方式,因此二者在 Django 測試工具中排名靠前也就不足為奇了。
更多詳情可查看:https://blog.jetbrains.com/zh-hans/pycharm/2025/11/the-state-of-django-2025/