Django 6.1 的第一个 alpha 版已经上架 PyPI。这个版本的意义不只是"又发了一个新包"——它标志着 6.1 的功能冻结(feature freeze),也就是说,后续 beta 和 RC 阶段只会修 bug 和做兼容性调整,不会再塞新功能了。如果你想在 6.1 正式版出来之前提前踩坑或贡献反馈,现在就是最好的窗口期。
6.1 发布节奏:时间线与关键节点
当前公布的节奏大致如下:
| 阶段 | 预计时间 | 说明 |
|---|---|---|
| alpha 1 | 已发布 | 功能冻结,新特性不再进入 |
| beta | 约 1 个月后 | 侧重 bug 修复与社区反馈 |
| release candidate | beta 之后约 1 个月 | 最终候选,只接受关键修复 |
| 正式版 | RC 确认无重大问题后 | 生产可用 |
节奏能否守住,取决于社区测试的频率和覆盖面。Django 论坛会同步更新进度,有问题也可以在 issue tracker 里直接提。
alpha 版能干什么、不能干什么
官方明确说了:alpha 和 beta 包不适合生产环境。但以下场景值得现在动手:
- 提前验证新特性——6.1 release notes(in-development 版)列出了所有变更,挑和你项目相关的逐个试。
- 回归测试——把现有项目在 6.1 alpha 上跑一遍测试套件,看有没有意外中断。
- 贡献 bug 报告——发现问题直接提 issue,这比正式版发布后再补要高效得多。
上手试:安装与验证
最直接的方式是用 pip 安装 alpha 包,建议在隔离环境中操作:
# 创建隔离环境
python -m venv django61_alpha_env
source django61_alpha_env/bin/activate
# 安装 Django 6.1 alpha 1
pip install Django==6.1a1
# 验证版本
python -c "import django; print(django.VERSION)"
# 预期输出: (6, 1, 0, 'alpha', 1)
如果你对包完整性有要求,可以验证 PGP 签名。本次发布的签名密钥属于 Jacob Walls,Key ID 为 131403F4D16D8DC7:
# 下载 release 包和签名文件(从 Django downloads 页面获取)
# 假设已下载 Django-6.1a1.tar.gz 和 Django-6.1a1.tar.gz.asc
# 获取签名密钥
gpg --recv-keys 131403F4D16D8DC7
# 验证签名
gpg --verify Django-6.1a1.tar.gz.asc Django-6.1a1.tar.gz
签名验证通过后,再从源码安装:
pip install Django-6.1a1.tar.gz
快速跑一个测试项目
装好之后,可以创建一个最小项目来跑通基本流程,确认新版本没有破坏核心功能:
# 在刚才的隔离环境中
django-admin startproject test61
cd test61
# 跑默认迁移
python manage.py migrate
# 启动开发服务器
python manage.py runserver
打开 http://127.0.0.1:8000/ 看到 Django 欢迎页,说明基础链路没问题。
接下来把你自己项目的关键模块逐个接入测试。一个实用的做法是在 CI 里加一个 nightly 或 weekly job,用 6.1 alpha 跑全量测试:
# GitHub Actions 示例:定期用 Django 6.1 alpha 跑测试
name: Django 6.1 alpha compatibility
on:
schedule:
- cron: '0 6 * * 1' # 每周一早上 6 点
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: |
pip install Django==6.1a1
pip install -r requirements.txt
- run: python manage.py test
这样不用手动盯,每周自动给你一份兼容性报告。
6.1 有哪些值得关注的新东西
具体特性清单在官方 in-development release notes 里,这里不逐条翻译,但建议你重点关注几类变更:
- ORM 和数据库层改动——新字段类型、查询优化、后端支持扩展,这类变更最容易影响现有查询行为。
- 表单与模板改动——widget 渲染逻辑、模板标签行为调整,直接影响前端输出。
- 安全相关变更——默认策略收紧(比如 CSRF、CORS、中间件行为),升级后可能需要调整配置。
- 已废弃特性的移除——如果你的项目还在用 5.x 时代标记为 deprecated 的接口,6.1 可能直接删掉了,务必提前排查。
采纳建议与检查清单
在正式版出来之前,你可以按这个清单逐步推进:
- 本地隔离安装——用 venv 或 conda 环境,绝不碰生产依赖。
- 跑现有测试套件——记录所有失败用例,分类是"已知 breaking change"还是"意外回归"。
- 阅读 release notes——逐条对照项目代码,标记受影响模块。
- 提 bug 报告——意外回归尽早提 issue,附上最小复现步骤。
- 设置 CI 定期任务——用上面的 YAML 示例,让兼容性检查自动化。
- 关注论坛动态——发布节奏调整或关键 bug 修复都会在 Django forum 通知。
alpha 阶段的核心价值不是"用新功能",而是提前暴露升级路径上的障碍。现在花两小时跑一遍测试,比正式版发布后花两天紧急修 bug 划算得多。