共计 1105 个字符,预计需要花费 3 分钟才能阅读完成。
w3cschool 小编
2022-12-22 17:54:31
浏览数 (4841)
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 视频课连接(点击图片跳转):
原文地址: Django4.0 来袭,你准备好了吗?