Python Web框架Django 2.1正式版本周发布啦! 我们来看看有哪些变化和新特性吧。
我们最爱的Python Web框架Django 2.1版本终于在本周发布了。小编就带你抢先看看新版本有哪些新变化吧。随着Django 2.1的发布,Django 2.0版本将不再接受主流技术支持,所有用户建议更新他们的Django版本,以便后续获得bug的修复。
下面我们来看一些Django 2.1版本的新特性吧。
Python版本支持
-
Python 版本要求 3.5, 3.6, 3.7 及以上,不再支持 3.4 版。
数据库版本支持
-
MySQL版本5.6及以上。5.5不再支持
-
PostgreSQL 9.4及以上。9.3不再支持
模型权限:新增查看(view)权限
-
一直以来,Django 模型中只有 增加(Add)、删除(Delete)和编辑(Change) 三个默认的权限,没有单独的查看权限(View)。新的查看权限允许设置某一个模型为可读。- 这个好!这个毛病终于改了,功能更完善了。
-
向前兼容性:如果用户取得了 修改(Change)权限,自然获得查看权限,无需再额外设置。
管理后台django.contrib.admin
-
新增ModelAdmin.delete_queryset() 方法和ModelAdmin.get_deleted_objects() 方法
-
可以覆盖默认的管理后台 - 这个非常好!目前Django后台确实太不美观,以前都是再后台上修修改改,调整样式,现在完全可以自己写后台,把默认后台覆盖掉。
-
默认的 jQuery 版本从 2.3.3 更新至 3.3.1
登录框架django.contrib.auth
-
createsuperuser命令可以选择跳过AUTH Password Validators审查
-
对于订制的User模型,不需要重写UserCreationForm和UserChangeForm
新增同站属性(SameSite)
-
setting文件里可以设置SESSION_COOKIE_SAMESITE 和 CSRF_COOKIE_SAMESITE
-
HttpResponse.set_cookie() 支持设置 SameSite 属性,这样跨站请求将不再发送cookie,更加安全 - 这个还不错!
其他更新
-
基于内存的缓存使用 LRU 选择算法
-
表单ImageField 渲染的控件新增 accept="image/*" 属性,可以指定可以接受的上传图片的格式。- 这个实在是好!!
-
Model模型类支持 __init_subclass__ 重写
-
BooleanField 允许设置 null=True ,NullBooleanField 类可能在未来版本被移除
官方新闻链接
-
https://www.djangoproject.com/weblog/2018/aug/01/django-21-released/
-
https://docs.djangoproject.com/en/2.1/releases/2.1/