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 相关文章推荐
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
Python AES加密模块用法分析
May 22 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
django1.11.1 models 数据库同步方法
May 30 Python
tensorflow更改变量的值实例
Jul 30 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
python 制作网站筛选工具(附源码)
Jan 21 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
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
php验证码生成器
2017/05/24 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
javascript实现yield的方法
2013/11/06 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
如何在django中实现分页功能
2020/04/22 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
计算机专业毕业生自荐书
2014/06/02 职场文书
八一建军节演讲稿
2014/09/10 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
保证书格式
2015/01/16 职场文书
2015年商场工作总结
2015/04/27 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
行政处罚事先告知书
2015/07/01 职场文书
Redis可视化客户端小结
2021/06/10 Redis
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript