django 2.0更新的10条注意事项总结
前言 备受期待的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()
4. User.is_authenticated 和User.is_anonymous 之前的 5. SessionAuthenticationMiddleware 删除了SessionAuthenticationMiddleware类,不再需要该中间件,在Django 1.10+中已经默认开启了。 6. assignment_tag 改成simple_tag
django2.0 更新的特性 下面的是更新到Django 2.0遇到的一些新特性 7. on_delete=models.CASCADE 为model的ForeignKey和OneToOne的属性增加 8. URL编写进行了简化 Django以前的URL规则是正则规则,写起来是有点反人类的,一点都不Pythonic。开发者们一直在被迫写类似这样的匹配表达式: url(r'^articles/(?P<year>[0-9]{4})/$',views.year_archive), 现在,你可以这样写了: path('articles/<int:year>/', 9. 聚合操作 数据库查询的聚合操作annotate中,增加了一个叫Window的操作,和一个叫Frame的条件。 10. 首页 除此之外,首次启动的欢迎页面也重做了,感觉高大上了很多,有没有 django2-index 总结 有关Django 2.0的新功能和更改的完整列表,请参阅官方文档。 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |