欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

2020年值得去了解的12個Python Web框架 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >

2020年值得去了解的12個Python Web框架

發(fā)表時間:2020-1-15

發(fā)布人:葵宇科技

瀏覽次數(shù):90

在Web開發(fā)領(lǐng)域,Python其實并沒有像在機器學(xué)習(xí)和數(shù)據(jù)處理這個領(lǐng)域一樣占有統(tǒng)治地位。不過鑒于Python在最近幾年的強勢地位,了解一下Python的web框架也挺有必要的。萬一哪天我自己或者是客戶“腦抽”了,真的要用Python來寫web應(yīng)用了呢?框架(Framework)讓程序員的生活更容易,常用的功能和方法都打包進了框架里,直接從庫里拿出來修改一下就用,確實是個省時省力,干活多快好省的好東西。

1. Why Python?

就不廢話了,用一張圖片和一張圖表來解釋吧。

  • 人生苦短,Python是岸

  • 日月蛇(Python)教,一統(tǒng)江湖之勢
來源:Stack Overflow - STACKOVERFLOW.BLOG

2. Python Web框架總結(jié)

總體來說Django和Flask是最最流行的Python Web框架,但是這不是說我們就可以忽略其他的框架。其實每一個框架都有其獨特的設(shè)計和優(yōu)勢,在某些需求下,可能會更適合你的項目。

來源:JETBRAINS.COM

我們可以把這些框架分成兩種類型: 1.全功能框架(或重型框架),這種類型的框架包括創(chuàng)建web應(yīng)用所需要的大部分功能,通常可以用于構(gòu)架需要完整功能和復(fù)雜設(shè)計的大型網(wǎng)站應(yīng)用。2.輕量級框架,顧名思義,就是提供比較簡單的網(wǎng)站構(gòu)建功能,通常用于簡單的,或者是小型的網(wǎng)站應(yīng)用。

全功能框架

Django

官網(wǎng) | GitHub | PyPI | Awesome

Django應(yīng)該是最流行的Python Web框架了,沒有之一。而且其包含了創(chuàng)建應(yīng)用需要的幾乎全部功能,給人的感覺是這個框架希望框架本身實現(xiàn)各種功能,而不是依靠其他的庫來完成。比如Django集成了安全認(rèn)證,URL Routing,模板引擎,ORM以及數(shù)據(jù)庫Scheme映射。這使得Django非常強大,有很好的可擴展性,性能也非常好。Django支持 PostgreSQL, MySQL, SQLite, Oracle和其他第三方數(shù)據(jù)庫。其ORM功能支持多數(shù)據(jù)庫之間的轉(zhuǎn)換。

總之Django的設(shè)計優(yōu)秀,結(jié)構(gòu)合理,性能出眾。適合不同規(guī)模的網(wǎng)站,在2020年,Django會加入對機器學(xué)習(xí)的支持,同時攜Python迅猛發(fā)展勢頭,很有可能會成為今年使用者增長最快的Web框架。

Pyramid

官網(wǎng) | GitHub | PyPI | Awesome

Pyramid是一個在2010年就誕生的框架,其目標(biāo)是簡化web開發(fā)的復(fù)雜性。最新的版本是1.10,這已經(jīng)是其第10個正式版本了。這個框架可以用于復(fù)雜的應(yīng)用開發(fā),也適用輕量級應(yīng)用。Pyraid的開發(fā)社區(qū)還是比較活躍的。版本更新頻繁,各技術(shù)群的討論也是非常熱烈的。

TurboGears

官網(wǎng) | GitHub | PyPI

TurboGear是一個開源和數(shù)據(jù)驅(qū)動的程序框架,它是建構(gòu)在很多不同的中間件和庫的基礎(chǔ)上,實際上這個框架試圖把其他的Python框架中最好的組件融入其中。TurboGear允許開發(fā)者能夠快速搭建數(shù)據(jù)驅(qū)動的網(wǎng)站應(yīng)用。它有非常好用的模板引擎,對聚合的支持,功能強大而靈活的ORM工具,而且自帶了大量的小代碼片段,可以讓開發(fā)更容易。

現(xiàn)在TurboGear的社區(qū)正在致力于開發(fā)一個簡化(瘦身)版的TurboGear框架,這將會給大家?guī)硪粋€更加簡單易用的框架。

Web2py

官網(wǎng) | GitHub | PyPI

這個原先是作為一個教學(xué)用的項目被開發(fā)出來,自帶IDE工具,為了簡化使用,其沒有項目級的配置文件。Web2Py有一個內(nèi)置的ticket系統(tǒng),只要出現(xiàn)錯誤就會生出ticket,用來追蹤運行時的問題。

這個項目的社區(qū)和郵件列表并不活躍

輕量級框架

Flask

官網(wǎng) | GitHub | PyPI | Awesome

目前為止,Flask是最流行的Python輕量級Web框架。這個框架是受到Sinatra Ruby的啟發(fā)而開發(fā)出來的。 Flask基于Werkzeug WSGI toolkit以及 Jinja2 模板。

Flask的目的是要建立一個非常穩(wěn)定和可靠的Web應(yīng)用的基礎(chǔ)系統(tǒng),我們可以使用Flack再加上各種插件,擴展和其他模塊,能夠構(gòu)建功能強大的網(wǎng)站和應(yīng)用。事實上,如果Django不適合的應(yīng)用類型,使用Flask基本上是Python Web開發(fā)的默認(rèn)選擇。

Flask也是一個在2010年啟動的開源項目,到目前為止已經(jīng)更新了27個版本,由于歷史比較長,有些早期的擴展已經(jīng)不被支持,文檔也不再更新。需要在網(wǎng)絡(luò)上找到最新的文檔和功能。

Bottle

官網(wǎng) | GitHub | PyPI

Bottle是一個輕量級的框架,最初是設(shè)計為一個API框架,整個Bottle框架是在一個源文件上。沒有引用任何Python標(biāo)準(zhǔn)庫。建議是如果使用Bottle,最好是非常小的程序,最好小于500行代碼并且沒有特殊的需求。

CherryPy, Falcon, Hug, FastAPI - 極為小眾,就不介紹了。讀者有興趣可以自己查看

異步框架

以下兩個開源框架用于處理高并發(fā)的應(yīng)用,可以用于需要解決C10K問題(10000+并發(fā)的場景)

Sanic

官網(wǎng) | GitHub | PyPI

Sanic是基于uvloop開發(fā)的,用于創(chuàng)建高并發(fā)異步Http請求的應(yīng)用,必須使用Python3.5+,兼容Python3.5+的async/await方法,提供非阻塞的異步訪問功能。Sanic是一個非常流行的異步框架。提供了routing, middleware, cookies, versioning, static files, blueprints, class-based views, 以及sockets的功能。不過比較可惜的是并沒有提供模板引擎,也沒有內(nèi)置的數(shù)據(jù)庫支持功能。

在一個Benchmark測試中,Sanic單進程和100連接的情況下,最高每秒同時并發(fā)處理33542個請求,平均時延2.96ms。

Tornado

官網(wǎng) | GitHub | PyPI

Tornado是一個Python web框架加上異步網(wǎng)絡(luò)處理庫,用于大流量的網(wǎng)絡(luò)應(yīng)用開發(fā)。使用非阻塞I/O,目標(biāo)能夠處理C10K網(wǎng)站。如果配置合理,Tornado框架的網(wǎng)站應(yīng)用能夠輕松應(yīng)對10000+并發(fā)的流量。

Tornado的流行程度介于Django和Flask之間,如果你需要一個web應(yīng)用,同時也要支持高并發(fā),那Tornado是最好的選擇

相關(guān)案例查看更多