导读:很多朋友问到关于django2更新了哪些的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
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 类可能在未来版本被移除
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中的一个模块
1,首先打开eclipse在主要的视图界面找到最上方的window点击,然后将看到showview的选项,然后在右边就会出现你要显示的视图。2,如果在这里边没有要显示的视图,可以点击other,那里边都有,可以根绝快速查询进行模糊查询,找到以后双击即可。3,可以再左下角上选择你需要显示的视图。那个大同小异,等选择了需要显示的视图后,可以拖拽控制它现实的位置。
django 1.9 更新了哪些内容
最简单的法是。为数据库的表建立一个model。具体做法是这样子。1.在settings.py里设置数据库连接方式。连接错误后面都没有法2.在models设置一个数据库表的对应数据结构,通常叫关系对象模型,所以叫model,它就是一个类。你可以用django-admin.pyprobe,似乎是这个命令,就是一个数据库的探测命令,可以根据表,自动生成model的代码。当然如果你先写了model的代码就可以用syncdb命令生成数据库的表3.在urls.py里设置一个URL的path,当浏览器访问这个path时就可以打开对应的view中的函数4.在view里4.1result=modelclass.objects.all()这个命令可以取出所有的记录4.2然后你可以直接将结果传递给模板。由模板显示。这是最合理的法4.3在模板里{%forcolsinresult%}4.4cols.field1大约就是这样子。可能说的太粗。你对着教程看就知道了。
结语:以上就是首席CTO笔记为大家介绍的关于django2更新了哪些的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。