Django 1.11.5发行说明

2017年9月5日

Django1.11.5修复了1.11.4中的一个安全问题和几个错误。

CVE-2017-12794:Technical 500调试页的回溯部分中可能的XSS

在旧版本中,技术500调试页模板的一部分禁用了HTML自动转义。在正确的情况下,这允许跨站点脚本攻击。此漏洞不应影响大多数生产站点,因为您不应使用 DEBUG = True (使此页可访问)在生产设置中。

错误修正

  • 固定的geos版本解析,如果该版本在末尾有提交哈希(geos 3.6.2中新增) (#28441

  • 为添加了兼容性 cx_Oracle 6 (#28498

  • 修复了选项值为元组时的选择小部件呈现 (#28502

  • Django1.11无意中更改了Oracle上的序列和触发器命名方案。这会导致某些表的插入错误,如果 'use_returning_into': False 是在 OPTIONS 部分 DATABASES . 1.11之前的命名方案现在已恢复。不幸的是,它需要对使用django 1.11创建的Oracle表进行更新。 [1-4] . 在中使用升级脚本 #28451 注释8更新序列和触发器名称以使用1.11之前的命名方案。

  • 向添加了请求后支持 LogoutView ,与基于函数的 logout() 看法 (#28513

  • 省略 pages_per_rangeBrinIndex.deconstruct() 如果是 None (#25809

  • 修正了一个回归式 SelectDateWidget 在选择框中本地化年份 (#28530

  • 修正了1.11.4中的回归式,其中 runserver 在python 2+windows上使用非Unicode系统编码崩溃 (#28487

  • 修正了django 1.10中的回归,其中变为 ManyToManyField 未登录管理员更改历史记录 (#27998 )并防止 ManyToManyField 模型表单中的初始数据不受后续模型更改的影响 (#28543

  • 固定的非确定性结果或 AssertionError 使用多个联接在某些查询中崩溃 (#26522

  • 修正了回归 contrib.authlogin()logout() 忽略位置参数的视图 (#28550