django 2.0更新的10條注意事項(xiàng)總結(jié)
前言
備受期待的django 2.0已經(jīng)發(fā)布了,最大的一個(gè)變化就是不再支持python2.x版本了,這也為我們還在保守使用的2.x的同學(xué)們敲響了警鐘,趕緊學(xué)習(xí)python3.x吧,雖然大同小異,但是python3.x還是提供了很多更高級(jí)的用法。
Python兼容性
Django 2.0支持Python3.4、3.5和3.6。Django官方強(qiáng)烈推薦每個(gè)系列的最新版本。
最重要的是Django 2.0不再支持Python2!
Django 1.11.x是支持Python2.7的最后版本。
django2.0 棄用的特性
下面這些是我在升級(jí)到Django 2.0后遇到的最常見的一些錯(cuò)誤:
1. url
from django.core.urlresolvers import reverse
變成了
from django.urls import reverse
2. MIDDLEWARE
settings.py文件,MIDDLEWARE_CLASSES更改成了MIDDLEWARE,這個(gè)一定要注意。
3. django.shortcuts.render()
django.shortcuts.render_to_response()
方法已經(jīng)被棄用了,現(xiàn)在使用django.shortcuts.render()
方法。
4. User.is_authenticated 和User.is_anonymous
之前的User.is_authenticated()
和User.is_anonymous()
方法更改成了屬性:User.is_authenticated
和User.is_anonymous
。
5. SessionAuthenticationMiddleware
刪除了SessionAuthenticationMiddleware類,不再需要該中間件,在Django 1.10+中已經(jīng)默認(rèn)開啟了。
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編寫進(jìn)行了簡(jiǎn)化
Django以前的URL規(guī)則是正則規(guī)則,寫起來是有點(diǎn)反人類的,一點(diǎn)都不Pythonic。開發(fā)者們一直在被迫寫類似這樣的匹配表達(dá)式:
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),
現(xiàn)在,你可以這樣寫了:
path('articles/<int:year>/', views.year_archive),
9. 聚合操作
數(shù)據(jù)庫查詢的聚合操作annotate中,增加了一個(gè)叫Window的操作,和一個(gè)叫Frame的條件。
10. 首頁
除此之外,首次啟動(dòng)的歡迎頁面也重做了,感覺高大上了很多,有沒有 django2-index
總結(jié)
有關(guān)Django 2.0的新功能和更改的完整列表,請(qǐng)參閱官方文檔。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
matplotlib繪制正余弦曲線圖的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib繪制正余弦曲線圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Python的Flask框架應(yīng)用調(diào)用Redis隊(duì)列數(shù)據(jù)的方法
這里為大家?guī)鞵ython的Flask框架應(yīng)用調(diào)用Redis隊(duì)列數(shù)據(jù)的方法,從而能夠?qū)崿F(xiàn)異步無阻塞從而提高某些實(shí)時(shí)處理情況下程序的性能,需要的朋友可以參考下2016-06-06Python用 KNN 進(jìn)行驗(yàn)證碼識(shí)別的實(shí)現(xiàn)方法
這篇文章主要介紹了Python用 KNN 進(jìn)行驗(yàn)證碼識(shí)別的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02Python實(shí)現(xiàn)多任務(wù)進(jìn)程示例
大家好,本篇文章主要講的是Python實(shí)現(xiàn)多任務(wù)進(jìn)程示例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01在python tkinter界面中添加按鈕的實(shí)例
今天小編就為大家分享一篇在python tkinter界面中添加按鈕的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python?pandas找出、刪除重復(fù)的數(shù)據(jù)實(shí)例
在面試中很可能遇到給定一個(gè)含有重復(fù)元素的列表,刪除其中重復(fù)的元素,下面這篇文章主要給大家介紹了關(guān)于Python?pandas找出、刪除重復(fù)數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07