scrypt密碼哈希去年(2021年)十二月,django發(fā)布了4.0版本,他更新了一些新的特性,雖然看起來(lái)與之前變化不大,但使用新的django可以避免一些老版本的問(wèn)題(這些問(wèn)題可能會(huì)是導(dǎo)致你棄坑django的原因),那現(xiàn)在讓我們來(lái)聊聊都更新了些什么吧。
兼容性
現(xiàn)在django4.0支持python3.8,3.9,3.10。
Django 4.0 支持 PostgreSQL 10 及更高版本。放棄對(duì) PostgreSQL 9.6 的支持
Django 4.0 正式支持 Oracle 19c。放棄對(duì) Oracle 12.2 和 18c 的支持
django對(duì)數(shù)據(jù)庫(kù)的兼容性決定了你要更新這個(gè)框架需不需要進(jìn)行數(shù)據(jù)庫(kù)遷移,以便估算成本,一般來(lái)說(shuō)遷移數(shù)據(jù)的成本是比較高的。
django支持最新的幾個(gè)python版本,也就意味著可以使用這些版本的新語(yǔ)法和新功能(比如3.10的match語(yǔ)句)更好用的異步優(yōu)化和類(lèi)型檢查。
新特性
Python 標(biāo)準(zhǔn)庫(kù)zoneinfo現(xiàn)在是 Django 中的默認(rèn)時(shí)區(qū)實(shí)現(xiàn)。
功能唯一約束——?UniqueConstraint()
?的*expressions
位置參數(shù)允許在表達(dá)式和數(shù)據(jù)庫(kù)函數(shù)上創(chuàng)建功能唯一約束。
scrypt密碼哈?!碌膕crypt 密碼散列器比 PBKDF2 更安全,推薦使用。但是,它不是默認(rèn)設(shè)置,因?yàn)樗枰?OpenSSL 1.1+ 和更多內(nèi)存。
Redis 緩存后端——新的django.core.cache.backends.redis.RedisCache緩存后端為使用 Redis 進(jìn)行緩存提供了內(nèi)置支持。需要 redis-py 3.0.0 或更高版本。有關(guān)更多詳細(xì)信息,請(qǐng)參閱Django 中使用 Redis 進(jìn)行緩存的文檔。
新增QuerySet.contains(obj)方法,用于判定查詢(xún)集中是否包含給定的對(duì)象;
LoginView增加了next_page屬性;
{% ifequal %}和 {% ifnotequal %} 標(biāo)簽被刪除;
request.is_ajax()方法被刪除。
小結(jié)
作為一個(gè)知名的python web框架,django的更新是比較緩和的,沒(méi)有出現(xiàn)比較大型的變動(dòng),這讓想要從Django3升級(jí)到Django4的開(kāi)發(fā)者更易于接受。但新框架的出現(xiàn)意味著舊的技術(shù)的逐漸過(guò)時(shí),所以現(xiàn)在想要學(xué)習(xí)Django的朋友們,Django4教程和視頻課都已經(jīng)出了,趕緊學(xué)起來(lái)吧!
Django4教程地址:Django4 中文教程
Django4視頻課連接(點(diǎn)擊圖片跳轉(zhuǎn)):