2026年1月9日 星期五

[Django 6.0] Django 6.0初體驗

1.安裝Django 6.0套件

pip install django


2.建立專案

django-admin startproject mysite djangotutorial
cd djangotutorial


3.執行啟動網站
python manage.py runserver

4.打開瀏覽器,輸入
http://127.0.0.1:8000/


以下是Gemini對Django 6.0生成的文件:
Django 6.0 於 2025 年 12 月 3 日正式發布。這個版本為 Django 帶來了幾個「里程碑式」的更新,特別是在異步處理前端安全性方面有了顯著的進步。

以下是 Django 6.0 的核心新功能與改進:


1. 內建背景任務框架 (django.tasks)

這是 6.0 最重大的更新。過去 Django 依賴 Celery 或 Redis Queue 來處理耗時任務(如發送郵件、生成報表),現在 Django 終於擁有了官方內建的異步任務支援

  • @task 裝飾器:可以直接在函數上使用 @task,將其標記為背景任務。

  • 靈活的後端:內建支持簡單的資料庫後端,同時也預留了對接 Redis 或其他消息隊列的接口。

  • 優點:減少了第三方依賴,讓中小型專案的背景處理變得極其簡單。

2. 支援模板局部渲染 (Template Partials)

Django 6.0 引入了 {% partialdef %}{% partial %} 標籤,這對 HTMX 用戶來說是巨大的利好。

  • 同一文件定義:你可以在同一個 HTML 模板中定義多個局部片段。

  • 精準渲染:視圖(Views)現在可以只渲染模板中的某個特定「片段」,而不需要將片段拆分成無數個小文件。

  • 應用場景:非常適合局部刷新、無限滾動或動態表單驗證。

3. 原生內容安全策略 (CSP) 支援

資安防禦得到了強化。Django 6.0 內建了對 Content Security Policy (CSP) 的全面支援。

  • Middleware 集成:透過簡單的配置即可防禦跨站腳本攻擊 (XSS) 和數據注入。

  • 自動生成 Nonce:提供 csp() 上下文處理器,能為內聯腳本(inline scripts)自動生成一次性隨機數 (Nonce),確保只有受信任的腳本能運行。

4. 郵件與資料庫現代化

  • Email API 升級:郵件處理現在改用更現代化的 Python API,對 Unicode 字元(如非英語名字)的支援更好。

  • ORM 增強StringAgg 聚合函數現在支持更多類型的資料庫(不再侷限於 PostgreSQL);此外,QuerySet.raw() 終於支援了複合主鍵模型。

5. 版本兼容性與變更

  • Python 版本:Django 6.0 要求 Python 3.12, 3.13 或 3.14

  • 默認安全性forms.URLField 的預設協議從 http 改為 https

  • 支援週期:Django 6.0 是一個標準發行版,會提供大約 8 個月的錯誤修復和 16 個月的安全更新。


總結

Django 6.0 標誌著框架從「純同步」轉向「原生異步與現代化前端交互」的重要一步。對於正在開發中的專案,如果需要處理背景任務或使用 HTMX,升級到 6.0 會非常有感。



沒有留言:

張貼留言