python3.0什么时候发布的_Django 3.0 发布说明

Python兼容性

Django 3.0 仅支持Python 3.6, 3.7和3.8,而且仅支持每个系列里的最新版本。而Django 2.2.x是最后的支持Python 3.5的版本。Django官方已经建议第三方应用开发者放弃兼容Django2.2之前的版本,并给出了操作指南。

Django 3.0的新特性支持MariaDB Django现在官方支持MariaDB 10.1及以上版本

2. 支持 ASGI Django 3.0已经完全自持async应用了。并提供了部署异步应用的说明

3. 在PostgreSQL上支持ExclusionConstraint

4. Filter 表达式

5. model field的choices属性现在支持自定义枚举类型

6. 一些小变更:

1. django.contrib.admin ModelAdmin.listdisplay 增加了 adminorderfiled;新的ModelAdmin.get_inlinces()方法支持基于request或者model实例来指定inlines;Select2升级到4.0.7;jQuery升级到3.4.1

2. django.contrib.auth PasswordResetConfirmView添加了reset_url_token属性,可以在reset URL上显示一个token参数;为了支持认证backend的定制,增加了基类 BaseBackend;为了和get_group_permissions()对应,添加了get_user_permissions()方法;在django.contrib.auth.forms的password、username、和email字段上添加了 autocomplate HTML属性,以便更好地和浏览器的密码管理功能交互;当在命令行的非交互模式下,没有提供某些createsuperuser的参数时,将从环境变量读取这些参数; REQUIREDFIELDS现在支持ManyToManyField;新方法 UserManager.with_perm()返回特定权限的用户;PBKDF2密码哈希器迭代次数从15万次增加到18万次。

3. django.contrib.gis 允许MySQL的空间查询函数在只是的空间中操作,之前限制在绑定的盒子上;增加了GeometryDistance函数,支持PostGIS;在Distance上支持长度单位furlong;支持在pathlib.Path上使用GEOIP_PATH;GeoIP2类现在接受 pathlib.Path

4. django.contrib.postgresql

5. django.contrib.sessions 新的get_session_cookie_age()允许动态地获取session的cookie age

6. django.contrib.syndication 添加了 language类属性在django.contrib.syndication.views.Feed上,支持自定义feed的语言。默认值是get_language()而不是之前的LANGUAGE_CODE。

7. cache add_never_cache_headers()和never_cache() 增加了private指令 到 Cache-Control

8. File Storage Storage.get_alternative_name()允许自动以生成文件名的算法,当上传的文件名已经存在的时候

9. Form

10. I18N

11. Logging

非兼容变更Database backend API

django.contrib.admin

django.contrib.gis

不再支持PostgreSQL 9.4,django支持PostgreSQL 9.5及以上版本

不再支持Oracle 12.1,django 3.0支持 Oracle 12.2和18c

移除一些私有的Python 2 兼容的API

移除的特性

以下特性已经到达了最后的维护期限,所以在Django 3.0 中已经移除django.db.backends.postgresql_psycopg2 模块被移除

django.shortcuts.render_to_response被移除

DEFAULT_CONTENT_TYPE设置被移除

HttpRequest.xreadlines() 被移除

Field.from_db_value()和Expression.convert_value()中的context参数被移除

QuerySet.earliest()和latest()的关键字参数field_name 被移除

ForceRHR函数被移除

django.utils.http.cookie_date() 被移除

staticfiles和admin_static模板标签库被移除

django.contrib.staticfiles.templatetags.staticfiles.static()被移除

一般情况下,新发布的版本在随后的较短时间内可能会发布bug的修复版,本人并不建议立刻从Django 2.2升级到3.0,可以再过2-3个月;如果项目还在使用Django 2.0.x,2.1.x,可以先升级到 Django 2.2的最新版。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值