App下載

Django4.0來襲,你準備好了嗎?

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

scrypt密碼哈希去年(2021年)十二月,django發(fā)布了4.0版本,他更新了一些新的特性,雖然看起來與之前變化不大,但使用新的django可以避免一些老版本的問題(這些問題可能會是導致你棄坑django的原因),那現(xiàn)在讓我們來聊聊都更新了些什么吧。

兼容性

現(xiàn)在django4.0支持python3.8,3.9,3.10。

Django 4.0 支持 PostgreSQL 10 及更高版本。放棄對 PostgreSQL 9.6 的支持

Django 4.0 正式支持 Oracle 19c。放棄對 Oracle 12.2 和 18c 的支持

django對數(shù)據(jù)庫的兼容性決定了你要更新這個框架需不需要進行數(shù)據(jù)庫遷移,以便估算成本,一般來說遷移數(shù)據(jù)的成本是比較高的。

django支持最新的幾個python版本,也就意味著可以使用這些版本的新語法和新功能(比如3.10的match語句)更好用的異步優(yōu)化和類型檢查。

新特性

Python 標準庫zoneinfo現(xiàn)在是 Django 中的默認時區(qū)實現(xiàn)。

功能唯一約束——?UniqueConstraint()?的*expressions 位置參數(shù)允許在表達式和數(shù)據(jù)庫函數(shù)上創(chuàng)建功能唯一約束。

scrypt密碼哈希——新的scrypt 密碼散列器比 PBKDF2 更安全,推薦使用。但是,它不是默認設置,因為它需要 OpenSSL 1.1+ 和更多內(nèi)存。

Redis 緩存后端——新的django.core.cache.backends.redis.RedisCache緩存后端為使用 Redis 進行緩存提供了內(nèi)置支持。需要 redis-py 3.0.0 或更高版本。有關更多詳細信息,請參閱Django 中使用 Redis 進行緩存的文檔。

新增QuerySet.contains(obj)方法,用于判定查詢集中是否包含給定的對象;

LoginView增加了next_page屬性;

{% ifequal %}和 {% ifnotequal %} 標簽被刪除;

request.is_ajax()方法被刪除。

小結(jié)

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

Django4教程地址:Django4 中文教程

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

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

1 人點贊