---
title: "Django 1.11.5 版本发行说明"
version: 6.0
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/6.0/releases/1.11.5/
canonical: https://djangodocs.dev/zh-hans/6.0/releases/1.11.5/
---
# Django 1.11.5 版本发行说明

*2017 年 9 月 5 日*

Django 1.11.5 修复了 1.11.4 中的一个安全问题和几个漏洞。

## CVE-2017-12794 ：技术性 500 调试页面的追踪部分可能存在 XSS 漏洞

在旧版本中，在技术性的 500 调试页面模板的一部分中禁用了 HTML 自动转义。在正确的情况下，这可能导致跨站点脚本攻击。这个漏洞不应影响大多数生产站点，因为你不应该在生产设置中运行 `DEBUG = True` （这使得这个页面可访问）。

## 漏洞修复

- 修复了如果 GEOS 版本在末尾具有提交哈希（在 GEOS 3.6.2 中新引入）时的版本解析问题 ([#28441](https://code.djangoproject.com/ticket/28441))。
- 添加了对 `cx_Oracle` 6 的兼容性 ([#28498](https://code.djangoproject.com/ticket/28498))。
- 修复了当选项值为元组时，选择小部件的呈现问题 ([#28502](https://code.djangoproject.com/ticket/28502))。
- Django 1.11 无意中改变了 Oracle 上的序列和触发器命名方案。如果在 `DATABASES` 的 `OPTIONS` 部分中包含 `'use_returning_into': False`，这会导致一些表的插入操作出错。现在已经恢复了 1.11 之前的命名方案。不幸的是，这必然需要更新使用 Django 1.11.\[1-4\] 创建的 Oracle 表。可以使用 [#28451](https://code.djangoproject.com/ticket/28451) 评论 8 中的升级脚本来更新序列和触发器的名称，以使用 1.11 之前的命名方案。
- 为了与基于函数的 `logout()` 视图相等，为 `LogoutView` 添加了 POST 请求支持 ([#28513](https://code.djangoproject.com/ticket/28513))。
- 如果 `pages_per_range` 为 `None`，则在 `BrinIndex.deconstruct()` 中省略了它 ([#25809](https://code.djangoproject.com/ticket/25809))。
- 修复了 `SelectDateWidget` 本地化选择框中的年份的回归问题 ([#28530](https://code.djangoproject.com/ticket/28530))。
- 修复了在 Python 2 + Windows 上使用非 Unicode 系统编码时，1.11.4 中的 `runserver` 崩溃的回归问题 ([#28487](https://code.djangoproject.com/ticket/28487))。
- 修复了 Django 1.10 中的回归问题，其中对 `ManyToManyField` 的更改未在管理员更改历史中记录 ([#27998](https://code.djangoproject.com/ticket/27998))，并防止模型表单中的 `ManyToManyField` 初始数据受到后续模型更改的影响 ([#28543](https://code.djangoproject.com/ticket/28543))。
- 修复了在某些具有多个连接的查询中产生非确定性结果或引发 `AssertionError` 崩溃的问题 ([#26522](https://code.djangoproject.com/ticket/26522))。
- 修复了 `contrib.auth` 中的 `login()` 和 `logout()` 视图中的回归问题，它们忽略了位置参数 ([#28550](https://code.djangoproject.com/ticket/28550))。
