django 2.0更新的10条注意事项总结


Posted in Python onJanuary 05, 2018

前言

备受期待的django 2.0已经发布了,最大的一个变化就是不再支持python2.x版本了,这也为我们还在保守使用的2.x的同学们敲响了警钟,赶紧学习python3.x吧,虽然大同小异,但是python3.x还是提供了很多更高级的用法。

Python兼容性

Django 2.0支持Python3.4、3.5和3.6。Django官方强烈推荐每个系列的最新版本。

最重要的是Django 2.0不再支持Python2!

Django 1.11.x是支持Python2.7的最后版本。

django2.0 弃用的特性

下面这些是我在升级到Django 2.0后遇到的最常见的一些错误:

1. url

from django.core.urlresolvers import reverse

变成了

from django.urls import reverse

2. MIDDLEWARE

settings.py文件,MIDDLEWARE_CLASSES更改成了MIDDLEWARE,这个一定要注意。

3. django.shortcuts.render()

django.shortcuts.render_to_response()方法已经被弃用了,现在使用django.shortcuts.render()方法。

4. User.is_authenticated 和User.is_anonymous

之前的User.is_authenticated()User.is_anonymous()方法更改成了属性:User.is_authenticatedUser.is_anonymous

5. SessionAuthenticationMiddleware

删除了SessionAuthenticationMiddleware类,不再需要该中间件,在Django 1.10+中已经默认开启了。

6. assignment_tag 改成simple_tag

@register.assignment_tag改成了@register.simple_tag

django2.0 更新的特性

下面的是更新到Django 2.0遇到的一些新特性

7. on_delete=models.CASCADE

为model的ForeignKey和OneToOne的属性增加on_delete=models.CASCADE

8. URL编写进行了简化

Django以前的URL规则是正则规则,写起来是有点反人类的,一点都不Pythonic。开发者们一直在被迫写类似这样的匹配表达式:

url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

现在,你可以这样写了:

path('articles/<int:year>/', views.year_archive),

9. 聚合操作

数据库查询的聚合操作annotate中,增加了一个叫Window的操作,和一个叫Frame的条件。

10. 首页

除此之外,首次启动的欢迎页面也重做了,感觉高大上了很多,有没有 django2-index

总结

有关Django 2.0的新功能和更改的完整列表,请参阅官方文档。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
Python常见字典内建函数用法示例
May 14 Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 Python
python配置grpc环境
Jan 01 Python
浅谈python3 构造函数和析构函数
Mar 12 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
pandas 数据类型转换的实现
Dec 29 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 #Python
python with提前退出遇到的坑与解决方案
Jan 05 #Python
微信跳一跳小游戏python脚本
Jan 05 #Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 #Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 #Python
微信跳一跳辅助python代码实现
Jan 05 #Python
使用python为mysql实现restful接口
Jan 05 #Python
You might like
PHP7 echo和print语句实例用法
2019/02/15 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
js实现简单的验证码
2015/12/25 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
Bootstrap插件全集
2016/07/18 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
python hashlib加密实现代码
2019/10/17 Python
python str字符串转uuid实例
2020/03/03 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
会计电算化专业毕业生自荐信
2013/12/20 职场文书
实验教师岗位职责
2014/02/13 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
公司租房协议书范本
2014/10/08 职场文书
整改报告怎么写
2014/11/06 职场文书
环卫工人慰问信
2015/02/15 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
《灰雀》教学反思
2016/02/19 职场文书
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
Java 在线考试云平台的实现
2021/11/23 Java/Android
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js