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 的類繼承,幾行代碼就可以擁有一個(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中寫(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ò)度封裝: 很多類和方法都封裝了,直接使用比較簡(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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python NumPy實(shí)現(xiàn)數(shù)組搜索示例詳解
NumPy是一個(gè)開(kāi)源的Python科學(xué)計(jì)算庫(kù),使用NumPy可以很自然地使用數(shù)組和矩陣,這篇文章主要介紹了使用NumPy實(shí)現(xiàn)數(shù)組搜索,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-05-05詳解pandas.DataFrame中刪除包涵特定字符串所在的行
這篇文章主要介紹了pandas.DataFrame中刪除包涵特定字符串所在的行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04使用python在校內(nèi)發(fā)人人網(wǎng)狀態(tài)(人人網(wǎng)看狀態(tài))
人人網(wǎng)怎么發(fā)狀態(tài)?下面使用python實(shí)現(xiàn)這個(gè)功能,大家參考使用吧2014-02-02學(xué)習(xí)Python中一些實(shí)用的庫(kù)
這篇文章主要介紹了Python學(xué)習(xí)之盤(pán)點(diǎn)一些Python中實(shí)用的庫(kù),有需要的同學(xué)可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09python?tkinter實(shí)現(xiàn)彈窗的輸入輸出
這篇文章主要為大家詳細(xì)介紹了python?tkinter實(shí)現(xiàn)彈窗的輸入輸出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02對(duì)Python中DataFrame按照行遍歷的方法
下面小編就為大家分享一篇對(duì)Python中DataFrame按照行遍歷的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04