在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

安利5個流暢自如的Python Web框架

如意 ? 來源:百家號 ? 作者:讀芯術 ? 2020-07-02 17:15 ? 次閱讀

如今,可供選擇的Python web框架有不少,能幫助你更快更輕松地創建web應用。本文就將為大家介紹一些更現代、使用更廣泛的web框架。

1.FastAPI

FastAPI致力于實現輕便和快速,筆者很喜歡它,它的開發速度和簡單程度令人欣慰。這對于端點特別有用,因為它們除了邏輯之外通常沒有太多內容,而且很可能不需要Django或TurboGears等工具提供的所有無用信息來創建。

FastAPI也有非常好的文檔,這讓它變得易于學習。FastAPI中的“快”代表了開發api所需要的速度和這些api返回的速度。與其他web框架類似,它還基于API創建的開放標準,你可以在一個方便的包中獲得傳輸數據所需的所有工具。

在語法方面,FastAPI采用一種非常類似于flass的方法來創建端點。

from fastapi import FastAPI

app = FastAPI()

@app.get(“/”)

async def root():

return {“message”:“Hello World”}

2.Tornado

Tornado不僅是一個優秀的web框架,而且還是一個異步網絡庫,這讓Tornado就能夠為數以千計的開放連接服務。Tornado使用非阻塞網絡進出流,使得它對于需要龐大且可伸縮的解決方案非常有用。

實際上,Tornado與大多數其他Python web框架有很大不同,它不在WSGI上運行。雖然這意味著在web服務器的選擇上可能受到一些限制,但Tornado提供了預打包服務器,可以立即啟動并運行。

雖然筆者很喜歡Tornado,但需要注意的是,當筆者嘗試用NGINX部署它時確實遇到了很多bug。而且在某些情況下,讓NGINX路由到正確的位置是并不是一件開心的事兒。筆者也遇到過Genie for Julia,不確定是什么原因造成的,但如果使用Tornado,那么最好設置一個Apache服務器,而不是NGINX服務器。

在語法方面,Tornado采用的是非常類似TurboGears的路由方法。使用Tornado時,通常會構建類來處理這些路由上的響應,而不是將邏輯放在路由中,來看看這個例子:

import tornado.ioloop

import tornado.web

class MainHandler(tornado.web.RequestHandler):

def get(self):

self.write(“Hello,world”)

def make_app():

returntornado.web.Application([

(r“/”, MainHandler),

])

if __name__ == “__main__”:

app = make_app()

app.listen(8888)

tornado.ioloop.IOLoop.current().start()

3.Quart

不要被Quart的標志搞暈了,它與Flash模塊關系更緊密,而不是Bottle模塊。Quart本質上是把兩個web框架放入一個模塊的組合:Asyncio和Flask。

這是一件了不起的事情,這兩者的結合稱得上完美!與Flask一樣,Quart是輕量級的,但是也包含了一個完整的異步特性列表。

筆者也很喜歡Quart,它感覺就像一個稍微加強了的Flask,在添加更多功能的過程中不會降低速度或易用性。有趣的是,Quart文檔實際上建議你訪問Flask文檔,筆者認為這正說明了它的分叉特性。如果你想要一個異步Flask,Quart是很好的選擇。

from quart import Quart

app = Quart(__name__)

@app.route(‘/’)

async def hello():

return ‘hello’

app.run()

4.BlackSheep

“BlackSheep”受到了ASP.NET和Flask等優秀工具的啟發,可用于輕松創建基于事件的web應用程序。筆者真的不明白為什么它被稱為“BlackSheep”,這一框架背后的語法和方法與Flask幾乎相同。

from datetime import datetime

from blacksheep.server import Application

from blacksheep.server.responses import text

app = Application()

@app.route(‘/’)

async def home(request):

return text(f‘Hello, World!{datetime.utcnow().isoformat()}’)

與Quart一樣,Black Sheep也提供了非常棒的工具,用于在web上同步和創建非阻塞端點。整體上來講,它是一個非常好用的框架,但與Quart非常相似。所以如果用了一個,你肯定也同時會使用這兩個框架。

5.Pyramid

Pyramid是筆者很喜歡使用的網絡框架之一。雖然Pyramid堅持輕量級的想法,并提供非常簡單的方法,以最小的代碼快速建立端點,但它同時也包括所有你可能需要的功能。

Pyramid受贊譽最多的一點是它的可擴展性。Pyramid可以是基礎的,也可以是復雜的,數據科學家會很喜歡它,他們可能想在未來擴展他們的端點。在句法上,Pyramid和Tornado大致相同。它始終遵循面向對象的范式。

from wsgiref.simple_server importmake_server

from pyramid.config import Configurator

from pyramid.response import Response

def hello_world(request):

return Response(‘HelloWorld!’)

if __name__ == ‘__main__’:

with Configurator() asconfig:

config.add_route(‘hello’, ‘/’)

config.add_view(hello_world,route_name=‘hello’)

app = config.make_wsgi_app()

server = make_server(‘0.0.0.0’,6543, app)

server.serve_forever()

如今,有一些更現代、使用更廣泛的web框架,能幫助你部署新的端點。它們各有亮點,但如果必須選擇的話,筆者可能會選擇FastAPI。FastAPI簡單、輕量級,一個字就是快。

當然,這并不是說FastAPI在每種情況下都是最好的選擇。最好根據具體情況來決定需要的最佳特性是什么然后再選擇,而不是根據主觀意見。

圖源:unsplash

如果有足夠的存儲空間,所有這些框架都是值得一試。如果想讓體驗更上一層樓,下一步就是對請求響應進行一些速度測試,看看誰是最佳。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1285

    瀏覽量

    70935
  • 框架
    +關注

    關注

    0

    文章

    404

    瀏覽量

    17819
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86345
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    鴻蒙5開發寶藏案例分享---Web開發優化案例分享

    ;gt;ArkWeb</span>(方舟Web)組件加載Web頁面的優化技巧,簡直是提升應用流暢度的神兵利器。官方文檔寫得比較“正經”,我這就把它掰開了、揉碎了,加上我自己
    發表于 06-12 17:20

    鴻蒙5開發寶藏案例分享---體驗流暢的首頁信息流

    ?** 鴻蒙新聞類首頁開發全攻略:流暢動效+懶加載實戰** Hey 各位鴻蒙開發者! 今天要分享一超實用的鴻蒙新聞類首頁開發方案,官方文檔里藏著的寶藏案例被我挖出來了!從流暢的Tab切換動效到絲滑
    發表于 06-12 11:42

    python入門圣經-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容; 第二部分將理論付諸實踐,講解如何開發三項目,包括簡單的Python 2D 游戲開發如何利用數據
    發表于 04-10 16:53

    Web Components實踐:如何搭建一框架無關的AI組件庫

    作者: 京東科技 牛志偉 一、讓人又愛又恨的Web Components Web Components是一種用于構建可重用的Web元素的技術。它允許開發者創建自定義的HTML元素,這些元素可以在
    的頭像 發表于 04-08 11:27 ?255次閱讀
    <b class='flag-5'>Web</b> Components實踐:如何搭建一<b class='flag-5'>個</b><b class='flag-5'>框架</b>無關的AI組件庫

    「極速探索HarmonyOS NEXT 」閱讀體驗】+Web組件

    \'@ohos.web.webview\'進行導入,效果一樣 @Entry@Component struct WebComponent{ //創建一新的控制器 webviewController
    發表于 03-10 10:39

    基于Django89的web框架代碼

    基于Django89的web框架代碼,超詳細
    發表于 02-10 15:38 ?0次下載

    熱門前端框架:引領現代 Web 開發的潮流

    在當今快速發展的前端開發領域,熱門前端框架如 React、Vue 和 Angular 等,成為了開發者構建高效、高性能 Web 應用的得力工具。它們各自具有獨特的特點和優勢,引領著現代 Web 開發
    的頭像 發表于 01-22 10:08 ?406次閱讀

    SSM框架的源碼解析與理解

    MVC模式,使得開發Web應用程序變得更加高效和簡單。 1. Spring框架 基本功能: Spring是一開源的Java平臺,它提供了全面的基礎設施支持,以便開發Java應用程序。Spring
    的頭像 發表于 12-17 09:20 ?915次閱讀

    SSM框架在Java開發中的應用 如何使用SSM進行web開發

    。以下是對SSM框架在Java開發中的應用,以及如何使用SSM進行web開發的介紹: SSM框架的組件及其作用 Spring :Spring是一開源的Java/Java EE全功能棧
    的頭像 發表于 12-16 17:28 ?1496次閱讀

    JavaWeb框架比較

    JavaWeb框架為開發人員提供了構建Web應用程序所需的基礎設施和組件,每種框架都有其獨特的特點和適用場景。以下是對幾種主流JavaWeb框架的比較: Spring MVC 優點
    的頭像 發表于 11-25 09:14 ?629次閱讀

    pytorch和python的關系是什么

    ,PyTorch已經成為了一非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Python簡介
    的頭像 發表于 08-01 15:27 ?3133次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1982次閱讀

    Python中的人工智能框架與實例

    在人工智能(AI)領域,Python因其簡潔的語法、豐富的庫和強大的社區支持,成為了最受歡迎的編程語言之一。本文將詳細介紹Python中的人工智能框架,并通過具體實例展示如何使用這些框架
    的頭像 發表于 07-15 14:54 ?2501次閱讀

    用pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一流行的
    的頭像 發表于 07-11 10:11 ?1368次閱讀

    bootstrap框架用什么軟件開發

    Bootstrap是一流行的前端框架,用于快速開發響應式和移動優先的Web應用程序。它提供了一套預定義的CSS和JavaScript組件,使得開發者可以快速構建出漂亮的用戶界面
    的頭像 發表于 07-11 09:50 ?775次閱讀
    主站蜘蛛池模板: 全部免费特黄特色大片农村 | 在线jlzzjlzz免费播放 | 日本在线观看成人小视频 | 婷婷午夜激情 | 三级理论手机在线观看视频 | 欧美区亚洲区 | 在线天堂视频 | 色婷婷激婷婷深爱五月老司机 | 亚洲午夜网 | 欧美色图网站 | 婷婷丁香四月 | 久久99久久99精品免观看 | 国产三级日产三级日本三级 | 欧洲另类一二三四区 | 免费观看在线永久免费xx视频 | 6一10周岁毛片免费 717影院理论午夜伦不卡久久 | 国产情侣草莓视频在线 | 激情天堂| 搡女人视频免费 | www爽| 艹逼视频免费 | 久久草在线精品 | 色婷婷狠狠干 | 久久久久国产午夜 | 国产手机在线看片 | 国产视频二区 | 国产三级日本三级在线播放 | 国产精品虐乳在线播放 | 久久青草精品免费资源站 | 女人张开腿男人猛桶视频 | 久久婷婷丁香七月色综合 | 毛片视频免费网站 | 久久婷婷人人澡人人爱91 | 精品久久久久久婷婷 | 亚洲福利视频网站 | 精品卡1卡2卡三卡免费视频 | 永久免费在线视频 | 天天色天天看 | 色视频在线看 | h小视频在线 | 国产精品免费看久久久香蕉 |