App下載

Django4.0來(lái)襲,你準(zhǔn)備好了嗎?

w3cschool小編 2022-12-22 17:54:31 瀏覽數(shù) (5328)
反饋

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)化和類型檢查。

新特性

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密碼哈希——新的scrypt 密碼散列器比 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)方法,用于判定查詢集中是否包含給定的對(duì)象;

LoginView增加了next_page屬性;

{% ifequal %}和 {% ifnotequal %} 標(biāo)簽被刪除;

request.is_ajax()方法被刪除。

小結(jié)

作為一個(gè)知名的python web框架,django的更新是比較緩和的,沒有出現(xiàn)比較大型的變動(dòng),這讓想要從Django3升級(jí)到Django4的開發(fā)者更易于接受。但新框架的出現(xiàn)意味著舊的技術(shù)的逐漸過(guò)時(shí),所以現(xiàn)在想要學(xué)習(xí)Django的朋友們,Django4教程和視頻課都已經(jīng)出了,趕緊學(xué)起來(lái)吧!

Django4教程地址:Django4 中文教程

Django4視頻課連接(點(diǎn)擊圖片跳轉(zhuǎn)):

Python Django4開發(fā)入門到實(shí)戰(zhàn)

1 人點(diǎn)贊