django有哪些好處和優(yōu)點(diǎn)
Django簡(jiǎn)介
Django是一種開(kāi)源的大而且全的Web應(yīng)用框架,是由python語(yǔ)言來(lái)編寫的。它采用了MVC模式,什么是MVC?大家不要著急,MVC這么好的東西我在下面會(huì)精細(xì)的講一下!Django最初是被開(kāi)發(fā)來(lái)用于管理勞倫斯出版集團(tuán)下的一些以新聞為主內(nèi)容的網(wǎng)站。一款CMS(內(nèi)容管理系統(tǒng))軟件。并于 2005 年 7 月在 BSD 許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手 Django Reinhardt 來(lái)命名的。
Django優(yōu)點(diǎn)
強(qiáng)大的數(shù)據(jù)庫(kù)功能
用 python 的類繼承,幾行代碼就可以擁有一個(gè)豐富、動(dòng)態(tài)的數(shù)據(jù)庫(kù)操作接口(API),如果需要,你也能執(zhí)行 SQL 語(yǔ)句ORM(Object-Relational Mapping“對(duì)象-關(guān)系-映射”),它實(shí)現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫(kù)的解耦,即數(shù)據(jù)模型的設(shè)計(jì)不需要依賴于特定的數(shù)據(jù)庫(kù),通過(guò)簡(jiǎn)單的配置就可以輕松更換數(shù)據(jù)庫(kù)
自帶強(qiáng)大的后臺(tái)功能
在admin.py中寫入需要實(shí)現(xiàn)功能的代碼,幾行簡(jiǎn)單的代碼就可以實(shí)現(xiàn)你當(dāng)管理員的夢(mèng)。再也不用為設(shè)計(jì)管理員而發(fā)愁了!
優(yōu)雅的網(wǎng)址
在urls.py中用正則匹配網(wǎng)址,傳遞到對(duì)應(yīng)的函數(shù),隨意你自己定義,網(wǎng)址可以如你所想,如你所愿。(需要注意的是:正則是一種獨(dú)立的語(yǔ)法,并不是哪個(gè)語(yǔ)言所擁有的。)
具有模板系統(tǒng)
模板系統(tǒng)大大的降低了開(kāi)發(fā)者頭疼腦熱的概率。因?yàn)槟0逑到y(tǒng)設(shè)計(jì)簡(jiǎn)單,容易擴(kuò)展。代碼,樣式分開(kāi)設(shè)計(jì)。查找更清晰,修改更容易!
緩存系統(tǒng)
Django和memcached、redis或者其他的緩存系統(tǒng)聯(lián)用,提高了頁(yè)面的加載速度。讓用戶的體驗(yàn)度更好了!
templates 文件夾views.py 中的函數(shù)渲染 templates 中的 Html 模板,得到動(dòng)態(tài)內(nèi)容的網(wǎng)頁(yè),當(dāng)然可以用緩存來(lái)提高速度。
國(guó)際化
這么好的東西,想不走上國(guó)際化都難啊。想要網(wǎng)頁(yè)顯示不同語(yǔ)言,比如中文、英文、還有各種語(yǔ)言。只需要在一個(gè)文件的設(shè)置中稍微那么修改一下。頁(yè)面就會(huì)穿上各種語(yǔ)言的外衣。
Django 的 App 理念很好。
App 可插拔,是不可多得的思想。不需要了,可以直接刪除,對(duì)系統(tǒng)影響不大。怎么樣?Django是否強(qiáng)大到不可想象的地步了?不過(guò)大家也不用高興的太早了。因?yàn)榇a還是要寫的,只不過(guò)用上了Django開(kāi)發(fā)網(wǎng)站的時(shí)候更快速,更便捷了而已!
內(nèi)容擴(kuò)展:
Django的優(yōu)點(diǎn)
功能完善、要素齊全:自帶大量常用工具和框架(比如分頁(yè),auth,權(quán)限管理), 適合快速開(kāi)發(fā)企業(yè)級(jí)網(wǎng)站。
完善的文檔:經(jīng)過(guò)十多年的發(fā)展和完善,Django有廣泛的實(shí)踐案例和完善的在線文檔。開(kāi)發(fā)者遇到問(wèn)題時(shí)可以搜索在線文檔尋求解決方案。
強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)組件:Django的Model層自帶數(shù)據(jù)庫(kù)ORM組件,使得開(kāi)發(fā)者無(wú)須學(xué)習(xí)SQL語(yǔ)言即可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
Django先進(jìn)的App設(shè)計(jì)理念: App是可插拔的,是不可多得的思想。不需要了,可以直接刪除,對(duì)系統(tǒng)整體影響不大。
自帶臺(tái)管理系統(tǒng)admin:只需要通過(guò)簡(jiǎn)單的幾行配置和代碼就可以實(shí)現(xiàn)一個(gè)完整的后臺(tái)數(shù)據(jù)管理控制平臺(tái)。
Django debug信息詳盡: 很容易找出代碼錯(cuò)誤所在。
Django的缺點(diǎn)
大包大攬: 對(duì)于一些輕量級(jí)應(yīng)用不需要的功能模塊Django也包括了,不如Flask輕便。
過(guò)度封裝: 很多類和方法都封裝了,直接使用比較簡(jiǎn)單,但改動(dòng)起來(lái)就比較困難。
性能劣勢(shì): 與C, C++性能上相比,Django性能偏低,當(dāng)然這是python的鍋,其它python框架在流量上來(lái)后會(huì)有同樣問(wèn)題。
模板問(wèn)題: django的模板實(shí)現(xiàn)了代碼和樣式完全分離,不允許模板里出現(xiàn)python代碼,靈活度對(duì)某些程序員來(lái)說(shuō)可能不夠。
到此這篇關(guān)于django有哪些好處和優(yōu)點(diǎn)的文章就介紹到這了,更多相關(guān)django的好處總結(jié)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程2. Vue實(shí)現(xiàn)仿iPhone懸浮球的示例代碼3. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式4. 一個(gè) 2 年 Android 開(kāi)發(fā)者的 18 條忠告5. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼6. Spring的異常重試框架Spring Retry簡(jiǎn)單配置操作7. Android studio 解決logcat無(wú)過(guò)濾工具欄的操作8. 什么是Python變量作用域9. PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析10. vue-drag-chart 拖動(dòng)/縮放圖表組件的實(shí)例代碼
