Django4.0来袭,你准备好了吗?
scrypt密码哈希去年(2021年)十二月,django发布了4.0版本,他更新了一些新的特性,虽然看起来与之前变化不大,但使用新的django可以避免一些老版本的问题(这些问题可能会是导致你弃坑django的原因),那现在让我们来聊聊都更新了些什么吧。
兼容性
现在django4.0支持python3.8,3.9,3.10。
Django 4.0 支持 PostgreSQL 10 及更高版本。放弃对 PostgreSQL 9.6 的支持
Django 4.0 正式支持 Oracle 19c。放弃对 Oracle 12.2 和 18c 的支持
django对数据库的兼容性决定了你要更新这个框架需不需要进行数据库迁移,以便估算成本,一般来说迁移数据的成本是比较高的。
django支持最新的几个python版本,也就意味着可以使用这些版本的新语法和新功能(比如3.10的match语句)更好用的异步优化和类型检查。
新特性
Python 标准库zoneinfo现在是 Django 中的默认时区实现。
功能唯一约束——UniqueConstraint()
的*expressions
位置参数允许在表达式和数据库函数上创建功能唯一约束。
scrypt密码哈希——新的scrypt 密码散列器比 PBKDF2 更安全,推荐使用。但是,它不是默认设置,因为它需要 OpenSSL 1.1+ 和更多内存。
Redis 缓存后端——新的django.core.cache.backends.redis.RedisCache缓存后端为使用 Redis 进行缓存提供了内置支持。需要 redis-py 3.0.0 或更高版本。有关更多详细信息,请参阅Django 中使用 Redis 进行缓存的文档。
新增QuerySet.contains(obj)方法,用于判定查询集中是否包含给定的对象;
LoginView增加了next_page属性;
{% ifequal %}和 {% ifnotequal %} 标签被删除;
request.is_ajax()方法被删除。
小结
作为一个知名的python web框架,django的更新是比较缓和的,没有出现比较大型的变动,这让想要从Django3升级到Django4的开发者更易于接受。但新框架的出现意味着旧的技术的逐渐过时,所以现在想要学习Django的朋友们,Django4教程和视频课都已经出了,赶紧学起来吧!
Django4教程地址:Django4 中文教程
Django4视频课连接(点击图片跳转):