| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档主要介绍了Django 3.0.x版本的各项特性与改进。包含对对象关系映射(ORM)的显著重构,实现了向后兼容;模板系统新增变量自动转义以防范跨站脚本攻击(XSS);增加了对地理信息系统(GIS)的django.contrib.gis支持,以及可插拔的文件存储后端。同时,Django 1.3版本引入了基于类的视图框架、Python日志模块的框架级支持、新的静态文件处理应用django.contrib.staticfiles,并开始弃用某些旧特性。文档还说明了Django源代码仓库使用Git管理,包含master分支和stable/A.B.x稳定分支,以及各版本的发布说明和向后不兼容变更。此外,提到了对Python 2.4的最终支持及未来转向Python 3.x的计划。 | ||
| AI总结 | ||
Django 3.0 文档核心内容总结如下:
**1. 安全与兼容性改进**
- **模板变量自动转义**:为防御跨站脚本攻击(XSS),模板系统现在默认自动转义变量输出,该行为可配置。
- **Unicode 处理**:文档提及了 Django 对 Unicode 数据的处理方式,并提供了相关文档链接。
- **Jython 兼容性**:通过重构移除了与 Jython(Java 平台上的 Python 实现)的不兼容性,现兼容 Jython 2.5。
**2. 核心功能增强**
- **ORM 重构**:对象关系映射器(ORM)经历了大规模重构,提升了内部机制。对大多数用户向后兼容,仅公共 API 有少量变化。
- **可插拔文件存储**:FileField 和 ImageField 现在支持可插拔的后端存储,允许自定义文件存储位置和方式。
- **INSERT/UPDATE 区分**:模型的 `save()` 方法现在可接受额外参数,强制指定执行 SQL 的 INSERT 或 UPDATE 操作。
- **类基础视图**:Django 1.3 引入了基于类的视图框架,允许通过子类化和重写方法来组合视图,并提供了与旧函数式通用视图对应的类版本。
- **日志系统**:Django 1.3 增加了对 Python 标准 `logging` 模块的框架级支持,可方便地配置日志,包括将 HTTP 500 错误邮件作为日志活动处理。
- **静态文件处理**:新增 `django.contrib.staticfiles` 应用,帮助开发者处理 CSS、JavaScript 等静态媒体文件,与用户上传文件分离。
**3. 地理信息与表单**
- **GeoDjango (django.contrib.gis)**:经过一年多开发,新增了世界级的地理信息系统(GIS)支持,作为 contrib 应用提供。
- **通用关系**:`django.contrib.contenttypes` 中新增了类,支持在管理界面和用户表单中使用通用关系。
**4. 文档组织与编写规范**
- **文档分类**:文档分为教程(引导新手)、主题指南(解释概念)、参考指南(API 技术参考)和操作指南(面向结果的进阶步骤)。
- **写作风格**:假设人物时,应使用性别中立代词(they/their/them)。
**5. 版本发布与代码库管理**
- **Django 1.3 概述**:重点解决长期功能请求,并开始弃用部分旧功能。这是最后一个支持 Python 2.4 的版本系列。
- **Python 兼容性**:Django 1.3 继续支持 Python 2.4,但 1.4 起最低要求提升至 Python 2.5。
- **源码仓库**:使用 Git 管理,包含 `master`(开发中代码)和 `stable/A.B.x`(稳定分支,用于发布准备和补丁)等分支,以及对应各版本发布的标签。
- **稳定分支策略**:自 Django 1.5 起,每个主要版本系列在首个 alpha 版后立即创建稳定分支,该分支只接收安全性和关键稳定性修复。
**6. 安全漏洞与错误修复**
- **CVE-2019-19844**:通过精心构造的 Unicode 电子邮件地址,攻击者可利用密码重置表单劫持账户。
- **CVE-2021-28658**:通过上传带有特定文件名的文件,`MultiPartParser` 存在目录遍历漏洞,内置上传处理器不受影响。
- **SQL 注入修复**:`StringAgg` 聚合函数中的 `delimiter` 参数存在 SQL 注入风险,已修复。
- **多个回归错误修复**:涉及 Django 3.0、2.2 等版本,包括 `QuerySet` 崩溃、迁移失败、`prefetch_related` 异常等问题。
**7. 弃用与移除计划**
- 文档列出了多个将在未来版本中移除的 API,例如 `AdminSite.root()`、`django.contrib.comments`、旧的事务管理 API 等。
- 移除了对 Python Imaging Library (PIL) 的支持,以及多个私有 API。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
1995 页请下载阅读 -
文档评分














Django 3.0.x Documentation
Django CMS 3.11.10 Documentation
Spring Framework 3.0.x Changelog