sanic官方文件解析之路由

2022-05-15 16:39:25 字數 2618 閱讀 8666

1,路由,路由相當於乙個**的位址,來確定**的位置和唯一性

當被允許訪問伺服器,當最後的"/"通過路由匹配到了業務邏輯處理的函式,將會返回乙個json物件

sanic處理函式必須被定義使用async def語法,作為非同步處理的函式

sanic框架天生自帶乙個基本的支援引數的路由

為了特殊的引數,支援引用尖括號來攜帶引數類似:,請求引數將會被通過路由處理函式作為關鍵字引數

引數的特殊形式在後邊增加乙個,引數的資料型別(:type)在引數的後邊,尖括號的裡邊,如果引數和資料型別不匹配,sanic框架會丟擲乙個notfound的例子,會在url上顯示404: page not found

這個int和 number有什麼區別,未完待續...?

這個[a-z]和[a-z]+和[a-z0-9]應該是和正則匹配的規則是一致的,未完待續...?

路由裡還有乙個可選的host引數(可以是列表或者是乙個字串),嚴格的提供host或者hosts,如果沒有host,將是預設是host.

一下這幾種情況牢記要使用url_for

用請求的第乙個引數處理websocket路由被呼叫,並且w二本socket協議物件作為第二個引數,這個websocket協議物件能夠分別的接受和傳送資料

from sanic importsanic, blueprint

from sanic.response importtext

# 例項化乙個sanic物件

# 為所有的提供路由提供斜線的配置

# 你可以為特殊的路由設定斜線

defhandler(request):

return text("ok")

# 也可以為藍圖設定斜線的配置

bq = blueprint("test_bq_strict_slash", strict_slashes=true)

@bq.get("/bq/get", strict_slashes=false)

defhandler(request):

return text("ok")

通過有乙個name的引數被用來習慣性的設定成路由的名字,與此同時註冊側路由用handler.__name__的屬性重寫預設的路由的名字

from sanic importsanic, blueprint

from sanic.response importtext

# 例項化乙個sanic物件

defhandler(request):

return text("ok")

# 同樣也為藍圖工作

bq = blueprint("test_named_bq")

@bq.get("/bq/get", name="get_handler")

defhandler(request):

return text("ok")

# 不同的名稱和不同的方法都能夠被用於同乙個url中

defhandler(request):

return text("ok")

defhandler2(request):

return text("ok post")

defhandler3(request):

return text("ok put")

# 在url相同的情況下,你可以使用以上三隻中方法中的任何乙個

# 用不同的方法處理在路由重新命名一樣

# 你需要乙個特殊的命名

defhandler(request):

return text("ok")

defhandler(request):

return text("ok")

sanic支援使用url_for的方法去建立靜態檔案的url,如果萬一靜態的檔案指向了乙個字典,這個url_for會忽略檔案的引數

UIWindow 官方文件解析

window的主要功能 1 提供乙個區域來顯示views 2 傳送events給views。property nonatomic uiwindowlevel windowlevel 預設值為0.0.const uiwindowlevel uiwindowlevelnormal const uiwin...

Spark學習之路 官方文件 簡單

英文原文 中文文件 1.1 rdd programming guide 英文原文 中文文件 1.2 spark sql,dataframes and datasets guide 英文原文 中文文件 看完官方的技術文件實踐後,自己可以試著實現spark的三種執行方式 spark2.1.1中用各種模式...

PyMongo官方文件翻譯和解析

bulk inserts插入多個文件 querying for more than one document訪問多個文件 counting文件計數方法 range queries限定訪問範圍 indexing增加索引 資料庫的操作無非是要掌握資料庫的增,改,刪,此篇文章為查閱官方文件的翻譯和解釋。官...