Django 4.0.x Documentation
3.14 MB
3184 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
Django 4.0版本发布,支持Python 3.8、3.9和3.10,推荐使用最新版本。默认使用zoneinfo替代pytz,需注意与TIME_ZONE设置的兼容性。修复了一些安全漏洞,如XSS攻击和拒绝服务攻击,并对表单集的最大数量进行了限制。版本还包含多项bug修复和功能增强,如错误处理改进和管理命令更新。 | ||
AI总结 | ||
以下是《Django 4.0.x Documentation》的中文总结,涵盖了核心观点和关键信息:
---
### **Django 4.0 简要概述**
Django 4.0 于 2021 年 12 月 7 日发布,包含了新功能、向后兼容性的更改以及一些安全更新和错误修复。以下是其主要内容的总结:
---
### **新功能与主要变更**
1. **时间区支持**:
- 默认使用 Python 标准库的 `zoneinfo` 作为时区实现,替代了 `pytz`。此变更会在 Django 5.0 中完全移除对 `pytz` 的支持。
- 支持从 Python 3.9 起的 `zoneinfo`,对于 Python 3.8 用户会自动安装 `backports.zoneinfo`。
2. **安全更新**:
- **CVE-2022-22818**:修复了 `{% debug %}` 模板标签的 XSS 漏洞。当前仅在 `DEBUG=True` 时启用,并确保变量已正确转义。
- **CVE-2022-23833**:修复了文件上传中的拒绝服务(DoS)漏洞。
- **CVE-2021-45115**:修复了 `UserAttributeSimilarityValidator` 的潜在拒绝服务漏洞。
- **CVE-2021-45116**:修复了 `dictsort` 模板过滤器的信息泄露漏洞。
- **CVE-2021-45452**:修复了 `Storage.save()` 的目录遍历漏洞。
- **CVE-2023-24580**:修复了文件上传中的拒绝服务漏洞,新增了 `DATA_UPLOAD_MAX_NUMBER_FILES` 设置以限制文件上传数量。
3. **错误修复与改进**:
- 修复了在某些平台(如 ARM64 架构下的 macOS)上可能导致崩溃的 `eryl` 集合问题。
- 修复了 `TestCase.captureOnCommitCallbacks()` 可能多次执行回调的问题。
- 修复了 `help_text` 在自动生成表单中的 HTML 转义问题。
- 修复了 `makemigrations` 在模型字段重命名时可能导致崩溃的问题。
4. **其他改进**:
- 表单集现在默认限制最大表单数(默认为 1000),以防止内存耗尽。
- 管理员历史日志仅允许有更改权限的用户查看。
- 提升了技术错误页面的栈跟踪可读性,突出显示应用代码框架。
- 添加了 `--clear` 选项到 `collectstatic` 管理命令,用于清除目标目录中的所有文件。
- 提供了新的 403 响应处理程序 `permission_denied`。
---
### **Python 兼容性**
- Django 4.0 支持 Python 3.8、3.9 和 3.10。
- 3.2.x 系列是最后一个支持 Python 3.6 和 3.7 的版本。
---
### **升级注意事项**
- 升级时需关注所有向后兼容性更改和已弃用的功能。
- 使用 `zoneinfo` 替换 `pytz` 后,部分代码可能需要审核,确保兼容性。
---
### **文档与资源**
- 4.0Release notes 包含了从 4.0 到 4.0.10 的所有补丁版本的更新记录。
- Django 3.2 的最新版本为 3.2.18。
---
以上总结涵盖了 Django 4.0 的核心新功能、安全更新、错误修复和兼容性变更,旨在帮助用户快速了解升级至 4.0 版本的关键信息。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
3177 页请下载阅读 -
文档评分