django有哪些好處和優(yōu)點(diǎn)
Django簡(jiǎn)介
Django是一種開(kāi)源的大而且全的Web應(yīng)用框架,是由python語(yǔ)言來(lái)編寫(xiě)的。它采用了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 的類(lèi)繼承,幾行代碼就可以擁有一個(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ì)不需要依賴(lài)于特定的數(shù)據(jù)庫(kù),通過(guò)簡(jiǎn)單的配置就可以輕松更換數(shù)據(jù)庫(kù)
自帶強(qiáng)大的后臺(tái)功能
在admin.py中寫(xiě)入需要實(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還是要寫(xiě)的,只不過(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ò)度封裝: 很多類(lèi)和方法都封裝了,直接使用比較簡(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. HTTP協(xié)議常用的請(qǐng)求頭和響應(yīng)頭響應(yīng)詳解說(shuō)明(學(xué)習(xí))2. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法3. Python寫(xiě)捕魚(yú)達(dá)人的游戲?qū)崿F(xiàn)4. python基礎(chǔ)之匿名函數(shù)詳解5. ASP.NET MVC通過(guò)勾選checkbox更改select的內(nèi)容6. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼7. Python Request類(lèi)源碼實(shí)現(xiàn)方法及原理解析8. ASP中實(shí)現(xiàn)字符部位類(lèi)似.NET里String對(duì)象的PadLeft和PadRight函數(shù)9. python numpy中setdiff1d的用法說(shuō)明10. Python多線程實(shí)現(xiàn)支付模擬請(qǐng)求過(guò)程解析
