Django 2.1 现已正式发布,官方表示随着 2.1 的发布,对 2.0 系列的主流支持服务将结束,进入安全修复服务周期,直至2019年4月。
2.1新特性:https://docs.djangoproject.com/en/2.1/releases/2.1/#whats-new-2-1
下载地址:https://www.djangoproject.com/download/
升级指南:https://docs.djangoproject.com/en/2.1/howto/upgrade-version/
Django 2.1 特性
Python版本支持
- Python 版本要求 3.5+ ,不再支持 3.4 。
模型权限:新增查看(view)权限
一直以来,Django 模型中只有 增加(Add)、删除(Delete)和编辑(Change) 三个默认的权限,没有单独的查看权限。新的 查看权限允许设置某一个模型为可读。
向前兼容性:如果用户取得了 修改(Change)权限,自然取得查看权限,无需再额外设置。
登录框架
- contrib.auth.views 模块下所有的 函数视图(FBV)被移除,可以使用相应的 类视图(CBV)
安全
- HttpResponse.set_cookie() 支持设置 SameSite 属性
不再支持的数据
- 不再支持 MySQL 5.5及其以下、PostgreSQL 9.3及其以下
其他更新
默认的 jQuery 版本从 2.3.3 更新至 3.3.1
基于内存的缓存使用 LRU 选择算法
ImageField 渲染的控件新增 accept="image/*" 属性
Model模型类支持 init_subclass 重写
BooleanField 允许设置 null=True ,NullBooleanField 类可能在未来版本被移除