首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 2.1 版本已经来袭

Django 2.1 版本已经来袭

作者头像
猴哥yuri
发布2018-08-16 17:03:36
5260
发布2018-08-16 17:03:36
举报
文章被收录于专栏:极客猴极客猴

题图:by silviuz from Instagram

阅读文本大概需要 3 分钟。

一个备受关注、很多人都在使用的软件,软件开发团队会定期发布新版本。其主要目的是修复之前一些 Bug 以及新增一些新特性。Django 作为主流的 Python Web 开发框架,当然也不例外。在几天前,即 8 月 1 号,Django 官方团队发布 Django 2.1 版本。

新版本发布,我们可以不用急于更新替换,但要关注新版本的发布内容。我看了下官方的发布公告,总结几个重要的点。

1 Python 版本支持

Django 2.1 将不再支持 Python 3.4,最低要求 Python 版本是 3.5。这也意味着 Django 2.0 是最后一个支持 Python 3.4 的版本。

2 模型新增查看权限

这个功能,很多开发者都期待了很久。盼星星盼月亮,终于盼来了。

在以前的版本中,模型(Model)只有“增删改”权限。新版本增加查看(View)权限。这也意味着在 Model 的 Meta 配置选项中, default_permissions 属性默认值变为 ('add', 'change', 'delete', 'view')

此外,官方团队考虑到向前兼容性。在旧版本中,如果用户取得修改(change)权限。更新到新版本,用户会自动获得查看(View)权限。

View 权限同样也适用于 admin,它可以给用户指定只读权限。这里是通过 ModelAdmin.has_view_permission(request, obj=None) 来设置。如果希望一个 obj 被设置成只读属性,那么要返回 True。

3 模型

新版本的 Model 类也一些特性,我也列举出比较重要的点。

  • Model 模型类支持 init_subclass 重写
  • 查询表达式终于支持负号查询了。
  • 在模型的表单中,BinaryField 可以被设置为 editable=True
4 表单

表单(Forms)中的 ImageField 组件新增 accept="image/*" 属性。

5 缓存

基于内存缓存(local-memory cache backend)采用最近最少使用(LRU)筛选策略,以替换之前随机数的策略。

6 数据库版本支持
  • MySQL 数据库 Django 2.1 不再支持 MySQL 5.5 以及以下版本,只能选择 5.6 或者更高版本。
  • PostgreSQL 数据库 Django 2.1 支持 PostgreSQL 最低版本为 9.4.
  • SQLite 数据库 新版本不再支持 < 3.7.15 版本的 SQLite。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客猴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Python 版本支持
  • 2 模型新增查看权限
  • 3 模型
  • 4 表单
  • 5 缓存
  • 6 数据库版本支持
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档