首页>>后端>>Python->django哪个版本流行(2023年最新分享)

django哪个版本流行(2023年最新分享)

时间:2023-12-09 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关django哪个版本流行的相关内容,希望对大家有所帮助,一起来看看吧。

Django 4.0 正式发布,新的密码哈希器和 Redis 缓存后端

Django 4.0 正式发布,4.0 版本支持 Python 3.8、3.9 和 3.10。随着 Django 4.0 的发布,Django 3.2 的主流支持已经结束。此版本主要有如下亮点:

重要更新

zoneinfo 作为默认时区

Django 3.2 允许使用非 pytz 时区。Django 4.0 是 zoneinfo 作为默认时区:弃用 pytz 且将在 Django 5.0 中删除它。zoneinfo 是 Python 3.9 标准库的一部分,如果你在使用 Python 3.8 ,则会自动安装 zoneinfo 包。

注意,如果你处于非 utc(世界标准时间) 时区,且在使用 pytz normalize() 和 localalize () api,那你可能设置了TIME_ZONE ,需要审查一下代码。4.x 系列版本周期有一个过渡性的 use_depreccated_pytz 设置,允许从 pytz 慢慢过渡到 zoneinfo ,这个设置将在 Django 5.0 中删除。

此外,zoneinfo 作者创建的 pytz_deprecation_shim 包用于帮助从 pytz 进行迁移,这个包提供 shims 来安全地移除 pytz ,还有一个详细的迁移指南,展示如何移动到新的 zoneinfo api。渐进更新可以用 pytz_deprecation_shim和use_depreccated_pytz 这两个过渡设置。

函数的唯一约束

UniqueConstraint() 的新 *expressions 位置参数可以在表达式和数据库函数上创建函数式唯一约束。例如:

使用该 Meta.constraints 选项将函数唯一约束添加到模型中 。

增加 scrypt 密码哈希器

新的 scrypt 密码哈希器比 PBKDF2 更安全,建议使用。但它不是默认选项,因为它需要 OpenSSL 1.1 以上版本和更多的内存。

Redis 缓存后端

新的 django.core.cache.backends.redis.RedisCache 缓存后端为使用 Redis 缓存提供了内置支持。此功能 需要 redis-py 3.0.0 或更高版本。

基于模板的表单渲染

使用模板引擎渲染表单,如用于表单的 render() , get_context() 和 template_name ,用于表单集的 五个渲染相关的属性和方法 。

次要更新项:

django.contrib.admin

django.contrib.auth

django.contrib.gis

django.contrib.postgres

django.contrib.staticfiles

缓存

新的异步 API: django.core.cache.backends.base.BaseCache 开始使缓存后端异步兼容。新的异步方法都有 a 前缀的名称,例如 aadd() , aget() , aset() , aget_or_set() ,或 adelete_many() 。

以后 a 前缀一般会用于方法的异步变体。

CSRF

国际化

通用视图

DeleteView 现在使用 FormMixin ,允许您提供一个 Form 子类,例如带有确认删除之类的复选框。

日志

管理命令

模块

请求和响应

信号

模板

测试 ¶

Django 4.0 是一个超大版本更新,除了上述更新以外还包含一些功能的弃用,以及不向后兼容的更新项,完整版更新内容可在 更新公告 中查看。

django web开发python用什么版本最好

python2.7和python3都是支持django的,鉴于python2.7大限已到,推荐用python3

django2.0和3.0的区别

区别不大,有几个函数变了,url()是在django1、django2中使用,并且在API文档中明确指出,在将来的版本中可能不推荐使用,他还有一个别名为re_path()。path()是django3中使用的函数,是url()的替代品。

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3. 0发布

django 2.1 和 2.0区别

希望采纳--

如果mysql数据表迁移有错,可退回2.0版本django

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 类可能在未来版本被移除

django1.7和1.3区别大吗?

这个区别还是挺大的,最好是用/学习最新的版本,很多旧的模块在新版本上的是不可用或采用新的了。具体请参考django的官网

结语:以上就是首席CTO笔记为大家整理的关于django哪个版本流行的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django哪个版本流行的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/20647.html