IT培訓(xùn)網(wǎng)
IT在線(xiàn)學(xué)習(xí)
目前Python流行的Web框架包括:Django、Flask和Tornado?蚣馨褬(gòu)建Web應(yīng)用的通用的代碼進(jìn)行了封裝,把相應(yīng)的模塊組織起來(lái),使用Web框架可以更輕松、快捷的創(chuàng)建web應(yīng)用,不用去關(guān)注一些底層細(xì)節(jié)。
1、Django框架
Django是基于Python的免費(fèi)和開(kāi)放源代碼Web框架,它遵循模型-模板-視圖(MTV)體系結(jié)構(gòu)模式。它由Django Software Foundation(DSF)維護(hù),這是一個(gè)由非營(yíng)利組織成立的獨(dú)立組織。Django對(duì)基礎(chǔ)的代碼進(jìn)行了封裝并提供相應(yīng)的 API,開(kāi)發(fā)者在使用框架是直接調(diào)用封裝好的 API 可以省去很多代碼編寫(xiě),從而提高工作效率和開(kāi)發(fā)速度。
Django的設(shè)計(jì)理念如下:
①松耦合——Django的目標(biāo)是使堆棧中的每個(gè)元素彼此獨(dú)立。
②更少的編碼——更少的代碼,因此可以快速開(kāi)發(fā)。
③不重復(fù)自己(DRY)——一切都應(yīng)該只在一個(gè)地方開(kāi)發(fā),而不是一次又一次地重復(fù)。
④快速開(kāi)發(fā)——Django的理念是盡一切可能促進(jìn)超快速開(kāi)發(fā)。
⑤簡(jiǎn)潔的設(shè)計(jì)——Django嚴(yán)格按照自己的代碼維護(hù)簡(jiǎn)潔的設(shè)計(jì),并易于遵循最佳的Web開(kāi)發(fā)實(shí)踐。
Django的一些優(yōu)勢(shì)如下:
①對(duì)象關(guān)系映射(ORM)支持——Django在數(shù)據(jù)模型和數(shù)據(jù)庫(kù)引擎之間建立了橋梁,并支持包括MySQL,Oracle,Postgres等在內(nèi)的大量數(shù)據(jù)庫(kù)系統(tǒng)。
②多語(yǔ)言支持——Django通過(guò)其內(nèi)置的國(guó)際化系統(tǒng)支持多語(yǔ)言網(wǎng)站。因此,您可以開(kāi)發(fā)支持多種語(yǔ)言的網(wǎng)站。
③框架支持——Django內(nèi)置了對(duì)Ajax,RSS,緩存和其他各種框架的支持。
④GUI——Django為管理活動(dòng)提供了一個(gè)很好的即用型用戶(hù)界面。
⑤開(kāi)發(fā)環(huán)境——Django帶有輕量級(jí)的Web服務(wù)器,以促進(jìn)端到端應(yīng)用程序的開(kāi)發(fā)和測(cè)試。
⑥D(zhuǎn)jango是Python Web框架。和大多數(shù)現(xiàn)代框架一樣,Django支持MVC模式。
2、Flask框架
Flask 是 Python 編寫(xiě)的一種輕量級(jí) ( 微 ) 的 Web 開(kāi)發(fā)框架,只提供 Web 框架的核心功能,較其他類(lèi)型的框架更為的自由、靈活、更加適合高度定制化的 Web 項(xiàng)目。Flask 在功能上面沒(méi)有欠缺,只不過(guò)更多的選擇及功能的實(shí)現(xiàn)交給了開(kāi)發(fā)者去完成,因此 Flask 對(duì)開(kāi)發(fā)的人員的水平有了一定的要求。
3、Tornado框架
在之前的學(xué)習(xí)過(guò)程當(dāng)中,學(xué)習(xí)過(guò)了 Flask 和 Django 這兩個(gè) Python Web 框架,現(xiàn)在來(lái)認(rèn)識(shí)一個(gè)更加復(fù)雜但是高效的 Python Web 框架 : Tornado。
Tornado 是 Python 編寫(xiě)的一個(gè)強(qiáng)大的可擴(kuò)展的 Web 服務(wù)器,在處理高網(wǎng)絡(luò)流量的時(shí)候表現(xiàn)的足夠強(qiáng)大,但是在創(chuàng)建的時(shí)候,和 Flask 類(lèi)似又足夠輕量,并且可以被用到大量的工具當(dāng)中。相對(duì)于其他的框架,
Tornado 有如下特點(diǎn):
1、完整的 Web 開(kāi)發(fā)框架,和 Django,F(xiàn)lask 一樣,Tornado 也提供了路由映射,request 上下文,基于模板的頁(yè)面渲染這些功能。
2、同樣是一個(gè)高效的網(wǎng)絡(luò)庫(kù),性能可以和 Python 的 Twisted,Gevent 等底層框架媲美,同時(shí)提供了異步IO, 超時(shí)事件處理,功能,這樣 twisted 除了做 Web 之外還可以做爬蟲(chóng),物聯(lián)網(wǎng)關(guān)或者游戲服務(wù)器等后臺(tái)應(yīng)用。
3、提供了高效的 HTTPClient, 除了服務(wù)器端框架,還提供了基于異步框架的 HTTP 客戶(hù)端
4、提供了高效的內(nèi)部服務(wù)器,Tornado 的內(nèi)部服務(wù)器可以直接用于生產(chǎn)環(huán)境
5、完備的 WebSocket 支持
>>本文地址:http://m.hqfphsz.com/zhuanye/2020/50712.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?
07月15日Java
咨詢(xún)/試聽(tīng)07月15日Python+人工智能
咨詢(xún)/試聽(tīng)07月15日Web前端
咨詢(xún)/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢(xún)/試聽(tīng)07月15日大數(shù)據(jù)
咨詢(xún)/試聽(tīng)07月15日Java
咨詢(xún)/試聽(tīng)07月15日Python+人工智能
咨詢(xún)/試聽(tīng)07月15日Web前端
咨詢(xún)/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢(xún)/試聽(tīng)07月15日大數(shù)據(jù)
咨詢(xún)/試聽(tīng)