成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Sanic開發(fā)快速異步響應(yīng)的Web程序

clasnake / 3329人閱讀

摘要:在類似的基礎(chǔ)上,支持異步請(qǐng)求處理,也就是說,你可以使用中全新而又亮眼的語法,使你的代碼非阻塞且快速。就是基于實(shí)現(xiàn)的異步讀寫的數(shù)據(jù)庫(kù)模塊,同樣有模塊為因一波封裝了,使得讀寫更加方便,它就是

Sanic是一個(gè)類似Flask、僅僅支持Python 3.5+ 版本的web 服務(wù)器,旨在運(yùn)行速度更快。在類似Flask的基礎(chǔ)上,Sanic支持異步請(qǐng)求處理,也就是說,你可以使用Python 3.5 中全新而又亮眼的 async/await 語法,使你的代碼非阻塞且快速。

下面是一個(gè)最簡(jiǎn)單的Sanic Web 程序:

from sanic import Sanic
from sanic.response import json

app = Sanic()

@app.route("/")
async def test(request):
return json({"hello": "world"})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

以上代碼顯示了Sanic的基本用法:

全局生成一個(gè)Sanic對(duì)象:app = Sanic()
Web路由由裝飾器@app.route()管理,也可以通過url_for()、add_route()指定(詳見文檔)
請(qǐng)求響應(yīng)函數(shù)用async聲明進(jìn)行異步處理,輸入必須有request對(duì)象,返回response對(duì)象
Blueprint

如果網(wǎng)站很復(fù)雜,路由路徑很多,全部寫在一個(gè)文件里面會(huì)比較復(fù)雜,這時(shí)候可以使用Blueprint,把不同功能寫到不同blueprint文件里面,讓整個(gè)代碼結(jié)構(gòu)邏輯更清晰

Class-Based Views

如果你用過tornado,一定對(duì)它用類處理請(qǐng)求的方式印象深刻,對(duì)同一個(gè)路由路徑分別處理GET、POST、DETET等請(qǐng)求方式時(shí),只要實(shí)現(xiàn)該類的幾個(gè)不同方法即可,讓整個(gè)代碼的邏輯結(jié)構(gòu)更清晰。同樣,Sanic也提供了基于類的處理方式: HTTPMethodView

Jinja網(wǎng)頁模板

Jinja具有快速?gòu)?qiáng)大的html模板渲染能力,是很多Python Web框架首選的html模板處理器。Sanic沒有實(shí)現(xiàn)自己的模板處理,但可以把Jinja融入進(jìn)來: sanic_jinja2

i18n國(guó)際化處理

Web網(wǎng)站經(jīng)常要同時(shí)支持多種語言,這個(gè)時(shí)候就要遇到國(guó)際化處理的問題,這方便也有模塊把Babel集成進(jìn)來: sanic_babel

小技巧:

你針對(duì)路由路徑 ‘/product’ 寫了Blueprint bp_product, 但要支持en, zh, jp三種語言路徑,即: /en/product, /zh/product, /jp/product, 你該怎么做呢?

在一個(gè)循環(huán)里為每種語言注冊(cè)該路徑:

for lang in ["en", "zh", "jp"]:

    app.blueprint(bp_product, url_prefix="/%s" % lang)

MySQL讀寫

Sanic是異步處理的框架,讀寫數(shù)據(jù)庫(kù)MySQL當(dāng)然也要用異步IO的方式,才能體系異步的高效。aiomysql就是基于pymysql實(shí)現(xiàn)的異步讀寫MySQL的數(shù)據(jù)庫(kù)模塊,同樣有模塊為sanic因一波封裝了aiomysql,使得MySQL讀寫更加方便,它就是: sanicdb

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43428.html

相關(guān)文章

  • Sanic教程:快速開始

    摘要:快速開始在安裝之前在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。踏出第一步我們將正式使用來構(gòu)建一個(gè)項(xiàng)目,讓我們踏出第一步,利用來編寫一個(gè)返回字符串的服務(wù)程序。本次示例的源代碼全部在上,見。 快速開始 在安裝Sanic之前,讓我們一起來看看Python在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支持異步IO的標(biāo)...

    warmcheng 評(píng)論0 收藏0
  • python 最快 web 框架 Sanci 快速入門

    摘要:詳細(xì)信息可以看下這個(gè)問題先在說下我的部署方式使用部署配置文件啟動(dòng)方式總結(jié)試用了下,把之前的一個(gè)聊天機(jī)器人從改成了。預(yù)告下一篇將介紹如何使用一步一步創(chuàng)建一個(gè)聊天機(jī)器人。 簡(jiǎn)介 Sanic 是一個(gè)和類Flask 的基于Python3.5+的web框架,它編寫的代碼速度特別快。除了像Flask 以外,Sanic 還支持以異步請(qǐng)求的方式處理請(qǐng)求。這意味著你可以使用新的 async/await ...

    snifes 評(píng)論0 收藏0
  • sanic異步框架之中文文檔

    摘要:實(shí)例實(shí)例測(cè)試結(jié)果增加路由實(shí)例測(cè)試結(jié)果提供了一個(gè)方法,根據(jù)處理程序方法名生成。異常拋出異常要拋出異常,只需從異常模塊中提出相應(yīng)的異常。 typora-copy-images-to: ipic [TOC] 快速開始 在安裝Sanic之前,讓我們一起來看看Python在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支...

    elliott_hu 評(píng)論0 收藏0
  • 微信公號(hào)DIY:一小時(shí)搭建微信聊天機(jī)器人

    摘要:最近借用了女朋友的公號(hào),感覺如果只是用來發(fā)文章,太浪費(fèi)微信給提供的這些功能了。想了想,先從最簡(jiǎn)單的開始,做一個(gè)聊天機(jī)器人吧。是一款接口的,基于一系列規(guī)則和機(jī)器學(xué)習(xí)算法完成的聊天機(jī)器人。 最近借用了女朋友的公號(hào),感覺如果只是用來發(fā)文章,太浪費(fèi)微信給提供的這些功能了。想了想,先從最簡(jiǎn)單的開始,做一個(gè)聊天機(jī)器人吧。 使用Python實(shí)現(xiàn)聊天機(jī)器人的方案有多種:AIML、chatterBot以...

    source 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<