API引用?

子模塊?

sanic.app 模塊?

class sanic.app.Sanic(name: Optional[str] = None, router: Optional[sanic.router.Router] = None, error_handler: Optional[sanic.handlers.ErrorHandler] = None, load_env: bool = True, request_class: Optional[sanic.request.Request] = None, strict_slashes: bool = False, log_config: Optional[Dict[str, Any]] = None, configure_logging: bool = True, register: Optional[bool] = None)?

基類:object

add_route(handler, uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, version=None, name=None, stream=False)?

將類實例或函數注冊為應用程序URL路由的處理程序的幫助器方法。

參數
  • handler -- 函數或類實例

  • uri -- URL路徑

  • methods -- 允許的方法列表或元組,如果使用httpmethodview,則會重寫這些方法

  • host --

  • strict_slashes --

  • version --

  • name -- URL的用戶定義路由名稱

  • stream -- 布爾值,指定處理程序是否為流處理程序

返回

函數或類實例

add_task(task)?

在循環開始后,安排任務稍后運行。與asyncio.secure-future不同的是,它也不會返回未來,實際的secure-future調用會延遲到服務器啟動之前。

參數

task -- 未來、古魯特或等待

add_websocket_route(handler, uri, host=None, strict_slashes=None, subprotocols=None, version=None, name=None)?

將函數注冊為WebSocket路由的幫助器方法。

參數
  • handler -- 可以處理WebSocket請求的類的可調用函數或實例

  • host -- 主機IP或FQDN詳細信息

  • uri -- 將映射到websocket處理程序的URL路徑

  • strict_slashes -- 如果API端點需要以“/”終止或不終止

  • subprotocols -- 用于WebSocket握手的子協議

  • name -- 為該URL分配的唯一名稱,以便它可以與 url_for()

返回

反對者裝飾者 websocket()

property asgi_client?
blueprint(blueprint, **options)?

在應用程序上注冊藍圖。

參數
  • blueprint -- 藍圖對象或其(列表、元組)

  • options -- 帶藍圖默認值的選項字典

返回

沒有什么

converted_response_type(response)?

未提供實現。

async create_server(host: Optional[str] = None, port: Optional[int] = None, *, debug: bool = False, ssl: Optional[Union[dict, ssl.SSLContext]] = None, sock: Optional[socket.socket] = None, protocol: Optional[Type[asyncio.protocols.Protocol]] = None, backlog: int = 100, access_log: Optional[bool] = None, unix: Optional[str] = None, return_asyncio_server=False, asyncio_server_kwargs=None) Optional[sanic.server.AsyncioServer]?

的異步版本 run() .

此方法將負責調用 before_start 事件通過 trigger_events() 方法調用,然后啟動 桑尼克 應用程序處于異步模式。

注解

這不支持多處理,并且不是運行 Sanic 應用。

參數
  • host (str) -- 主機地址

  • port (int) -- 端口到主機上

  • debug (bool) -- 啟用調試輸出(減慢服務器速度)

  • ssl (SSLContext or dict) -- sslcontext,或工作進程的ssl加密的證書和密鑰的位置

  • sock (socket) -- 服務器接受連接的套接字

  • protocol (type[Protocol]) -- 異步協議類的子類

  • backlog (int) -- 在拒絕新連接之前,系統將允許的一些未被接受的連接

  • access_log (bool) -- 允許寫入訪問日志(減慢服務器速度)

  • return_asyncio_server (bool) -- 定義是否需要返回asyncio.server或立即啟動它的標志

  • asyncio_server_kwargs (dict) -- asyncio/uvloop create_server方法的鍵值參數

返回

asyncio server如果return_asyncio_server為true,則為空

delete(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL DELETE HTTP 方法

參數
  • uri -- 要標記到的URL DELETE 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

enable_websocket(enable=True)?

啟用或禁用對WebSocket的支持。

如果將WebSocket路由添加到應用程序,則會自動啟用WebSocket。

exception(*exceptions)?

修飾要注冊為異常處理程序的函數

參數

exceptions -- 例外

返回

裝飾功能

get(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL GET HTTP 方法

參數
  • uri -- 要標記到的URL GET 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

classmethod get_app(name: str, *, force_create: bool = False) sanic.app.Sanic?

檢索實例化的Sanic實例

async handle_exception(request, exception)?
async handle_request(request)?

接受來自HTTP服務器的請求并返回要發送回的響應對象HTTP服務器只需要一個響應對象,因此必須在此處進行異常處理。

參數
  • request -- HTTP請求對象

  • write_callback -- 以響應作為唯一參數調用的同步響應函數

  • stream_callback -- 處理流式處理程序生成的流式ttpresponse的協程。

返回

沒有什么

head(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?
listener(event)?

從修飾函數創建偵聽器。

參數

event -- 要收聽的事件

property loop?

與asyncio.get_event_loop()同義。

僅在使用時支持 app.run 方法。

middleware(middleware_or_request)?

裝飾和注冊在請求之前調用的中間件??梢哉{用為 @app.middleware@應用中間件(請求)

Param

中間件請求:用于標識正在注冊的中間件類型的可選參數。

options(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL OPTIONS HTTP 方法

參數
  • uri -- 要標記到的URL OPTIONS 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

patch(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PATCH HTTP 方法

參數
  • uri -- 要標記到的URL PATCH 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

post(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL POST HTTP 方法

參數
  • uri -- 要標記到的URL POST 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

put(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PUT HTTP 方法

參數
  • uri -- 要標記到的URL PUT 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

classmethod register_app(app: sanic.app.Sanic) None?

注冊Sanic實例

register_listener(listener, event)?

注冊給定事件的偵聽器。

參數
  • listener -- 可調用,即設置數據庫(應用程序,循環)

  • event -- 何時注冊偵聽器,即“在服務器啟動之前”

返回

聽眾

register_middleware(middleware, attach_to='request')?

注冊一個應用程序級中間件,該中間件將附加到此應用程序下注冊的所有API URL。

此方法由 middleware() 在應用程序級別提供的裝飾器。

參數
  • middleware -- 要附加到中間件的回調方法

  • attach_to -- 在中間件的生命周期中需要調用中間件的狀態 HTTP請求 . 請求 -在處理請求之前調用 響應 -在返回響應之前調用

返回

裝飾器方法

register_named_middleware(middleware, route_names, attach_to='request')?
route(uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, stream=False, version=None, name=None, ignore_body=False)?

修飾要注冊為路由的函數

參數
  • uri -- URL路徑

  • methods -- 允許的方法列表或元組

  • host --

  • strict_slashes --

  • stream --

  • version --

  • name -- URL的用戶定義路由名稱

返回

路由元組,修飾函數

run(host: Optional[str] = None, port: Optional[int] = None, *, debug: bool = False, auto_reload: Optional[bool] = None, ssl: Optional[Union[dict, ssl.SSLContext]] = None, sock: Optional[socket.socket] = None, workers: int = 1, protocol: Optional[Type[asyncio.protocols.Protocol]] = None, backlog: int = 100, register_sys_signals: bool = True, access_log: Optional[bool] = None, unix: Optional[str] = None, loop: None = None) None?

運行HTTP服務器并監聽,直到鍵盤中斷或終端信號。在終端上,在關閉之前排空連接。

參數
  • host (str) -- 主機地址

  • port (int) -- 端口到主機上

  • debug (bool) -- 啟用調試輸出(減慢服務器速度)

  • auto_reload -- 每當源代碼被更改時重新加載應用程序。在調試模式下默認啟用。

  • ssl (SSLContext or dict) -- sslcontext,或工作進程的ssl加密的證書和密鑰的位置

  • sock (socket) -- 服務器接受連接的套接字

  • workers (int) -- 在尊重它之前接收的進程數

  • protocol (type[Protocol]) -- 異步協議類的子類

  • backlog (int) -- 在拒絕新連接之前,系統將允許的一些未被接受的連接

  • register_sys_signals (bool) -- 注冊 SIG* 事件

  • access_log (bool) -- 允許寫入訪問日志(減慢服務器速度)

  • unix (str) -- 要監聽的Unix套接字而不是TCP端口

返回

沒有什么

static(uri, file_or_directory, pattern='/?.+', use_modified_since=True, use_content_range=False, stream_large_files=False, name='static', host=None, strict_slashes=None, content_type=None)?

注冊根目錄以從中提供文件。輸入可以是文件或目錄。此方法將使設置 Route 服務靜態文件所必需的。

參數
  • uri -- 用于服務靜態內容的URL路徑

  • file_or_directory -- 包含靜態文件的靜態文件/目錄的路徑

  • pattern -- 識別有效靜態文件的regex模式

  • use_modified_since -- 如果為真,則發送文件修改時間,如果瀏覽器與服務器匹配,則返回“未修改”。

  • use_content_range -- 如果為真,則處理范圍請求的頭并發送請求的文件部分

  • stream_large_files -- 如果為真,請使用 StreamingHTTPResponse.file_stream() 處理程序而不是 HTTPResponse.file() 用于發送文件的處理程序。如果這是一個整數,則表示要切換到的閾值大小 StreamingHTTPResponse.file_stream()

  • name -- 用于URL的用戶定義名稱

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • content_type -- 標題的用戶定義內容類型

返回

在路由器上注冊的路由

返回類型

List[sanic.router.Route]

stop()?

這會殺死 Sanic

property test_client?
test_mode = False?
async trigger_events(events, loop)?

觸發器事件(函數或異步):參數事件:要執行的一個或多個同步或異步函數:參數循環:事件循環

update_config(config: Union[bytes, str, dict, Any])?

更新應用程序配置.

請參考配置.py::Config.update_配置文件。

url_for(view_name: str, **kwargs)?

基于視圖名稱和提供的值生成URL。

為了構建URL,必須將所有請求參數作為關鍵字參數提供,并且每個參數必須通過指定參數類型的測試。如果不滿足這些條件,a URLBuildError 將被拋出。

不是請求參數的關鍵字參數將包含在輸出URL的查詢字符串中。

參數
  • view_name -- 引用視圖名稱的字符串

  • **kwargs -- 用于生成請求參數和查詢字符串參數的鍵和值。

返回

內置URL

產生:

URLBuildError

websocket(uri, host=None, strict_slashes=None, subprotocols=None, version=None, name=None)?

修飾要注冊為websocket路由的函數

參數
  • uri -- URL路徑

  • host -- 主機IP或FQDN詳細信息

  • strict_slashes -- 如果API端點需要以“/”終止或不終止

  • subprotocols -- 具有支持的子協議的str的可選列表

  • name -- 為該URL分配的唯一名稱,以便它可以與 url_for()

返回

路由元組,修飾函數

sanic.blueprints 模塊?

class sanic.blueprints.Blueprint(name, url_prefix=None, host=None, version=None, strict_slashes=None)?

基類:object

add_route(handler, uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, version=None, name=None, stream=False)?

從函數創建藍圖路由。

參數
  • handler -- 用于處理URI請求的函數。接受帶有視圖類方法的函數或類實例。

  • uri -- 路由可訪問的終結點。

  • methods -- 可接受的HTTP方法列表。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • version -- 藍圖版本

  • name -- URL的用戶定義路由名稱

  • stream -- 布爾值,指定處理程序是否為流處理程序

返回

函數或類實例

add_websocket_route(handler, uri, host=None, version=None, name=None)?

從函數創建藍圖WebSocket路由。

參數
  • handler -- 用于處理URI請求的函數。接受帶有視圖類方法的函數或類實例。

  • uri -- 路由可訪問的終結點。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • version -- 藍圖版本

  • name -- 用于標識WebSocket路由的唯一名稱

返回

函數或類實例

delete(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL DELETE HTTP 方法

參數
  • uri -- 要標記到的URL DELETE 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

exception(*args, **kwargs)?

此方法允許為有問題的當前藍圖創建全局異常處理程序。

參數
  • args -- 處理程序要捕獲的python異常列表

  • kwargs -- 要傳遞給異常處理程序的其他可選參數

:返回修飾方法以處理任何

在此藍圖下注冊的路線。

get(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL GET HTTP 方法

參數
  • uri -- 要標記到的URL GET 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

static group(*blueprints, url_prefix='')?

創建一個藍圖列表,可以選擇在通用URL前綴下對其進行分組。

參數
  • blueprints -- 要注冊為組的藍圖

  • url_prefix -- 所有子前綴的URL路由

head(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL HEAD HTTP 方法

參數
  • uri -- 要標記到的URL HEAD 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

listener(event)?

從修飾函數創建偵聽器。

參數

event -- 要收聽的事件。

middleware(*args, **kwargs)?

從修飾函數創建藍圖中間件。

參數
  • args -- 調用中間件時要使用的位置參數

  • kwargs -- 可用于中間件的可選關鍵字參數。

options(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL OPTIONS HTTP 方法

參數
  • uri -- 要標記到的URL OPTIONS 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

patch(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PATCH HTTP 方法

參數
  • uri -- 要標記到的URL PATCH 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

post(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL POST HTTP 方法

參數
  • uri -- 要標記到的URL POST 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

put(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PUT HTTP 方法

參數
  • uri -- 要標記到的URL PUT 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

register(app, options)?

將藍圖注冊到sanic應用程序。

參數
  • app -- 實例 sanic.app.Sanic

  • options -- 將藍圖注冊到應用程序時要使用的選項。 url_prefix -覆蓋藍圖前綴的URL前綴

route(uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, stream=False, version=None, name=None)?

從修飾函數創建藍圖路由。

參數
  • uri -- 路由可訪問的終結點。

  • methods -- 可接受的HTTP方法列表。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • stream -- 如果路由應該提供流支持

  • version -- 藍圖版本

  • name -- 用于標識路由的唯一名稱

:返回一個修飾方法,調用該方法時將返回一個對象

類型的 FutureRoute

static(uri, file_or_directory, *args, **kwargs)?

從修飾函數創建藍圖靜態路由。

參數
  • uri -- 路由可訪問的終結點。

  • file_or_directory -- 靜態資產。

websocket(uri, host=None, strict_slashes=None, version=None, name=None)?

從修飾函數創建藍圖WebSocket路由。

參數
  • uri -- 路由可訪問的終結點。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • version -- 藍圖版本

  • name -- 用于標識WebSocket路由的唯一名稱

class sanic.blueprints.FutureException(handler, args, kwargs)?

基類:tuple

property args?

字段編號1的別名

property handler?

字段編號0的別名

property kwargs?

字段編號2的別名

class sanic.blueprints.FutureListener(handler, uri, methods, host)?

基類:tuple

property handler?

字段編號0的別名

property host?

字段編號3的別名

property methods?

字段編號2的別名

property uri?

字段編號1的別名

class sanic.blueprints.FutureMiddleware(middleware, args, kwargs)?

基類:tuple

property args?

字段編號1的別名

property kwargs?

字段編號2的別名

property middleware?

字段編號0的別名

class sanic.blueprints.FutureRoute(handler, uri, methods, host, strict_slashes, stream, version, name)?

基類:tuple

property handler?

字段編號0的別名

property host?

字段編號3的別名

property methods?

字段編號2的別名

property name?

字段編號7的別名

property stream?

字段5的別名

property strict_slashes?

字段編號4的別名

property uri?

字段編號1的別名

property version?

字段編號6的別名

class sanic.blueprints.FutureStatic(uri, file_or_directory, args, kwargs)?

基類:tuple

property args?

字段編號2的別名

property file_or_directory?

字段編號1的別名

property kwargs?

字段編號3的別名

property uri?

字段編號0的別名

sanic.bluent_組模塊?

class sanic.blueprint_group.BlueprintGroup(url_prefix=None)?

基類:collections.abc.MutableSequence

這個類提供了一種機制來使用 group() 方法在 Blueprint . 為了避免重新編寫某些現有實現,該類提供了一個自定義迭代器實現,允許您將該類的對象用作現有實現中的列表/元組。

property blueprints?

檢索此組下所有可用藍圖的列表。:返回:藍圖實例列表

insert(index: int, item: object) None?

抽象類 MutableSequence 利用此插入方法執行 BlueprintGroup.append 操作。

參數
  • index -- 用于刪除新藍圖項的索引

  • item -- 新的 Blueprint 對象。

返回

沒有

middleware(*args, **kwargs)?

可以用來實現屬于這個特定藍圖組的所有藍圖的中間件插件的裝飾器。

對于嵌套的藍圖組,相同的中間件遞歸地應用于每個藍圖。

參數
  • args -- 要使用中間件的可選位置參數

  • kwargs -- 用于中間件的可選關鍵字arg

返回

應用中間件的部分功能

property url_prefix?

檢索當前藍圖組使用的URL前綴:返回:帶URL前綴的字符串

sanic.config模塊?

class sanic.config.Config(defaults=None, load_env=True, keep_alive=None)?

基類:dict

load(config: Union[bytes, str, dict, Any])?

更新應用程序配置.

注:僅考慮大寫設置。

您可以通過提供py文件保存設置的路徑來上載應用程序配置。

# /some/py/file
A = 1
B = 2
config.update_config("${some}/py/file")

可以,您可以將環境變量放在這里,但必須以以下格式提供它們:${some_env_var},并將$some_env_var標記為純字符串。

您可以通過提供dict保持設置來上載應用程序配置。

d = {"A": 1, "B": 2}
config.update_config(d)

您可以通過提供任何保存設置的對象來上載應用程序配置,但在這種情況下 config.__dict__ 將用作dict保持設置。

class C:
    A = 1
    B = 2

config.update_config(C)
load_environment_vars(prefix='SANIC_')?

查找前綴環境變量并將其應用于配置(如果存在)。

update_config(config: Union[bytes, str, dict, Any])?

更新應用程序配置.

注:僅考慮大寫設置。

您可以通過提供py文件保存設置的路徑來上載應用程序配置。

# /some/py/file
A = 1
B = 2
config.update_config("${some}/py/file")

可以,您可以將環境變量放在這里,但必須以以下格式提供它們:${some_env_var},并將$some_env_var標記為純字符串。

您可以通過提供dict保持設置來上載應用程序配置。

d = {"A": 1, "B": 2}
config.update_config(d)

您可以通過提供任何保存設置的對象來上載應用程序配置,但在這種情況下 config.__dict__ 將用作dict保持設置。

class C:
    A = 1
    B = 2

config.update_config(C)

sanic.constants模塊?

sanic.cookies模塊?

class sanic.cookies.Cookie(key, value)?

基類:dict

從simplecookie gottagofast中刪去的莫爾斯電碼

encode(encoding)?

按照開發人員指示的特定編碼類型對cookie內容進行編碼。利用 str.encode() 方法由python提供。

此方法可用于編碼和嵌入 utf-8 內容到cookies中。

參數

encoding -- 與cookie一起使用的編碼

返回

在選擇的編解碼器中編碼的cookie。

除了

UnicodeEncodeError

class sanic.cookies.CookieJar(headers)?

基類:dict

當添加和刪除cookie時,cookiejar會動態地寫入頭,通過使用multiHeader類提供一個唯一的鍵來編碼設置cookie,從而繞過了每個名稱一個頭的限制。

sanic.exceptions模塊?

exception sanic.exceptions.ContentRangeError(message, content_range)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 416?
exception sanic.exceptions.FileNotFound(message, path, relative_url)?

基類:sanic.exceptions.NotFound

exception sanic.exceptions.Forbidden(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 403?
exception sanic.exceptions.HeaderExpectationFailed(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 417?
exception sanic.exceptions.HeaderNotFound(message, status_code=None, quiet=None)?

基類:sanic.exceptions.InvalidUsage

exception sanic.exceptions.InvalidRangeType(message, content_range)?

基類:sanic.exceptions.ContentRangeError

exception sanic.exceptions.InvalidUsage(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 400?
exception sanic.exceptions.LoadFileException(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

exception sanic.exceptions.MethodNotSupported(message, method, allowed_methods)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 405?
exception sanic.exceptions.NotFound(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 404?
exception sanic.exceptions.PayloadTooLarge(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

quiet = True?
status_code = 413?
exception sanic.exceptions.PyFileError(file)?

基類:Exception

exception sanic.exceptions.RequestTimeout(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

Web服務器(運行網站)認為在1)客戶端和服務器之間建立IP連接(套接字)和2)在該套接字上接收到任何數據之間的時間間隔太長,因此服務器已斷開連接。套接字連接實際上已丟失-Web服務器已在該特定套接字連接上“超時”。

quiet = True?
status_code = 408?
exception sanic.exceptions.SanicException(message, status_code=None, quiet=None)?

基類:Exception

exception sanic.exceptions.ServerError(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

status_code = 500?
exception sanic.exceptions.ServiceUnavailable(message, status_code=None, quiet=None)?

基類:sanic.exceptions.SanicException

服務器當前不可用(因為它因維護而過載或停機)。一般來說,這是一種臨時狀態。

quiet = True?
status_code = 503?
exception sanic.exceptions.URLBuildError(message, status_code=None, quiet=None)?

基類:sanic.exceptions.ServerError

exception sanic.exceptions.Unauthorized(message, status_code=None, scheme=None, **kwargs)?

基類:sanic.exceptions.SanicException

未經授權的異常(401 HTTP狀態代碼)。

參數
  • message -- 描述異常的消息。

  • status_code -- HTTP狀態代碼。

  • scheme -- 要使用的身份驗證方案的名稱。

當存在時,Kwargs用于完成WWW身份驗證頭。

實例:

# With a Basic auth-scheme, realm MUST be present:
raise Unauthorized("Auth required.",
                   scheme="Basic",
                   realm="Restricted Area")

# With a Digest auth-scheme, things are a bit more complicated:
raise Unauthorized("Auth required.",
                   scheme="Digest",
                   realm="Restricted Area",
                   qop="auth, auth-int",
                   algorithm="MD5",
                   nonce="abcdef",
                   opaque="zyxwvu")

# With a Bearer auth-scheme, realm is optional so you can write:
raise Unauthorized("Auth required.", scheme="Bearer")

# or, if you want to specify the realm:
raise Unauthorized("Auth required.",
                   scheme="Bearer",
                   realm="Restricted Area")
quiet = True?
status_code = 401?
sanic.exceptions.abort(status_code, message=None)?

基于SaniceException引發異常。返回適用于給定狀態代碼的HTTP響應消息,除非提供。

參數
  • status_code -- 要返回的HTTP狀態代碼。

  • message -- HTTP響應正文。默認為中的消息

來自sanic.helpers的給定狀態代碼的STATUS_CODES。

sanic.exceptions.add_status_code(code, quiet=None)?

用于將異常添加到 SanicException .

sanic.handlers模塊?

class sanic.handlers.ContentRangeHandler(request, stats)?

基類:object

解析和處理傳入請求頭以提取內容范圍信息的機制。

參數
  • request (sanic.request.Request) -- 傳入API請求

  • stats (posix.stat_result) -- 與內容相關的統計信息

變量
  • start -- 內容范圍開始

  • end -- 內容范圍結束

  • size -- 內容的長度

  • total -- 總尺寸由 posix.stat_result 實例

  • ContentRangeHandler.headers -- 內容范圍標題 dict

end?
headers?
size?
start?
total?
class sanic.handlers.ErrorHandler?

基類:object

提供 sanic.app.Sanic 具有處理和處理任何和所有未捕獲異常的機制的應用程序,其方式由應用程序開發人員設置。

這個錯誤處理框架內置在核心中,開發人員可以對其進行擴展,以執行各種任務,從記錄錯誤狀態到將其報告給可用于實時警報系統的外部服務。

add(exception, handler)?

向已存在的處理程序對象添加新的異常處理程序。

參數
返回

沒有

cached_handlers = None?
default(request, exception)?

為以下對象提供默認行為 ErrorHandler . 如果開發者選擇 ErrorHandler 它們可以為這個方法提供一個自定義的實現,使其以他們認為合適的方式工作。

參數
返回

handlers = None?
log(message, level='error')?

已棄用,請勿使用。

lookup(exception)?

查找的現有實例 ErrorHandler 并獲取特定類型異常的注冊處理程序。

此方法利用dict查找加快檢索過程。

參數

exception (sanic.exceptions.SanicException or Exception) -- 異常類型

返回

已注冊函數(如果找到) None 否則

response(request, exception)?

獲取并執行異常處理程序并返回響應對象

參數
返回

包裝從中獲取的返回值 default() 或為該異常類型注冊的處理程序。

sanic.log模塊?

sanic.請求模塊?

class sanic.request.File(type, body, name)?

基類:tuple

property body?

字段編號1的別名

property name?

字段編號2的別名

property type?

字段編號0的別名

class sanic.request.Request(url_bytes, headers, version, method, transport, app)?

基類:object

HTTP請求的屬性,如URL、頭等。

app?
property args: sanic.request.RequestParameters?

解析方法 query_string 使用 urllib.parse.parse_qs . 此方法用于 args 財產。如果需要更改默認參數,可以直接使用。

參數
  • keep_blank_values (bool) -- 指示百分比編碼查詢中的空值是否應視為空字符串的標志。真值表示空白應保留為空白字符串。默認的false值表示將忽略空白值,并將其視為未包含。

  • strict_parsing (bool) -- 指示如何處理分析錯誤的標志。如果為false(默認值),則默認忽略錯誤。如果為true,則錯誤會引發ValueError異常。

  • encoding (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

  • errors (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

返回

RequestParameters

body?
conn_info?
property content_type?
property cookies?
ctx?
endpoint?
property files?
property form?
property forwarded?

從請求頭獲取的活動代理信息,如Sanic配置中指定的。

字段名按、for、proto、host、port和path進行規范化。-for和by IPv6地址用括號括起來-端口(int)只由端口頭設置,而不是從主機設置。-路徑是未編碼的url

新樣式轉發郵件頭中可能會提供其他值。

classmethod generate_id(*_)?
get_args(keep_blank_values: bool = False, strict_parsing: bool = False, encoding: str = 'utf-8', errors: str = 'replace') sanic.request.RequestParameters?

解析方法 query_string 使用 urllib.parse.parse_qs . 此方法用于 args 財產。如果需要更改默認參數,可以直接使用。

參數
  • keep_blank_values (bool) -- 指示百分比編碼查詢中的空值是否應視為空字符串的標志。真值表示空白應保留為空白字符串。默認的false值表示將忽略空白值,并將其視為未包含。

  • strict_parsing (bool) -- 指示如何處理分析錯誤的標志。如果為false(默認值),則默認忽略錯誤。如果為true,則錯誤會引發ValueError異常。

  • encoding (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

  • errors (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

返回

RequestParameters

get_query_args(keep_blank_values: bool = False, strict_parsing: bool = False, encoding: str = 'utf-8', errors: str = 'replace') list?

解析方法 query_string 使用 urllib.parse.parse_qsl . 此方法用于 query_args 財產。如果需要更改默認參數,可以直接使用。

參數
  • keep_blank_values (bool) -- 指示百分比編碼查詢中的空值是否應視為空字符串的標志。真值表示空白應保留為空白字符串。默認的false值表示將忽略空白值,并將其視為未包含。

  • strict_parsing (bool) -- 指示如何處理分析錯誤的標志。如果為false(默認值),則默認忽略錯誤。如果為true,則錯誤會引發ValueError異常。

  • encoding (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

  • errors (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

返回

列表

headers?
property host: str?

當前有效的服務器“host”(主機名或主機名:端口). 1 config.SERVER_NAME 覆蓋任何客戶端標頭2。原始請求3的代理主機。請求主機頭主機名和端口可以用 sanic.headers.parse_host(request.host) . :return:找到第一個匹配的主機,或空字符串

property id?
property ip?
返回

套接字的對等IP

property json?
load_json(loads=<built-in function loads>)?
property match_info?

解析路由后返回匹配信息

method?
name?
parsed_args?
parsed_files?
parsed_form?
parsed_forwarded?
parsed_json?
parsed_not_grouped_args?
property path: str?

本地HTTP請求的路徑。

property port?
返回

套接字的對等端口

property query_args: list?

解析方法 query_string 使用 urllib.parse.parse_qsl . 此方法用于 query_args 財產。如果需要更改默認參數,可以直接使用。

參數
  • keep_blank_values (bool) -- 指示百分比編碼查詢中的空值是否應視為空字符串的標志。真值表示空白應保留為空白字符串。默認的false值表示將忽略空白值,并將其視為未包含。

  • strict_parsing (bool) -- 指示如何處理分析錯誤的標志。如果為false(默認值),則默認忽略錯誤。如果為true,則錯誤會引發ValueError異常。

  • encoding (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

  • errors (str) -- 指定如何將百分比編碼序列解碼為Unicode字符(bytes.decode()方法接受)。

返回

列表

property query_string?
raw_url?
async receive_body()?

接收請求.正文,如果尚未收到。

流處理程序可以調用它來接收完整的正文。SANIC在運行任何非流路由處理程序之前調用此函數。

對于流式和非流式路由的自定義處理,自定義請求類可以覆蓋此屬性。

property remote_addr: str?

客戶端IP地址(如果可用)。1代理遠程地址 self.forwarded['for'] 2本地遠程地址 self.ip :return:IPv4、括號內的IPv6、UNIX套接字名稱或任意字符串

request_middleware_started?
async respond(response=None, *, status=200, headers=None, content_type=None)?
property scheme: str?

確定請求方案。1 config.SERVER_NAME 如果是完整的URL格式2。代理原型/方案3。本地連接協議:返回:http |https| ws wss或頭文件給出的任意值。

property server_name: str?

客戶端連接到的主機名,通過 request.host .

property server_path: str?

當前URL的完整路徑。使用代理路徑或本地路徑。

property server_port: int?

客戶端連接到的端口,通過轉發 portrequest.host .

默認端口返回為80和443,基于 request.scheme .

property socket?
stream?
property token?

嘗試返回auth頭標記。

返回

與請求相關的令牌

transport?
uri_template?
property url?
url_for(view_name, **kwargs)?

等同于 sanic.Sanic.url_for() ,但自動確定 scheme and netloc base on the request. Since this method is aiming to generate correct schema & netloc, `_ 暗示為“external”。

參數

kwargs -- 采用與中相同的參數 sanic.Sanic.url_for()

返回

給定視圖的絕對URL

返回類型

str

version?
class sanic.request.RequestParameters?

基類:dict

托管一個以列表為值的dict,其中get返回列表的第一個值,get list返回整個shebang

get(name, default=None)?

返回第一個值,默認值或實際值

getlist(name, default=None)?

返回整個列表

sanic.request.parse_multipart_form(body, boundary)?

解析請求體并返回字段和文件

參數
  • body -- 字節請求正文

  • boundary -- 字節多部分邊界

返回

字段(請求參數)、文件(請求參數)

sanic.response模塊?

class sanic.response.BaseHTTPResponse?

基類:object

property cookies?
property processed_headers?

獲取要發送的以字節編碼的標頭元組列表。

根據STATUS和CONTENT_TYPE添加和刪除標頭。

async send(data=None, end_stream=None)?

將所有掛起的響應頭和給定數據作為正文發送。用法:param data:STR或Bytes to Write:END_STREAM:此擋路之后是否關閉流

class sanic.response.HTTPResponse(body=None, status=200, headers=None, content_type=None)?

基類:sanic.response.BaseHTTPResponse

body?
content_type?
headers?
status?
class sanic.response.StreamingHTTPResponse(streaming_fn, status=200, headers=None, content_type='text/plain; charset=utf-8', chunked='deprecated')?

基類:sanic.response.BaseHTTPResponse

舊式流響應。使用 request.respond() 而不是在新代碼中這樣做,以避免回調。

content_type?
headers?
async send(*args, **kwargs)?

將所有掛起的響應頭和給定數據作為正文發送。用法:param data:STR或Bytes to Write:END_STREAM:此擋路之后是否關閉流

status?
streaming_fn?
async write(data)?

將數據塊寫入流響應。

參數

data -- 要寫入的str或bytes-ish數據。

sanic.response.empty(status=204, headers=None)?

向客戶端返回空響應。

:param status響應代碼。:param headers自定義頭。

async sanic.response.file(location, status=200, mime_type=None, headers=None, filename=None, _range=None)?

返回包含文件數據的響應對象。

參數
  • location -- 文件在系統上的位置。

  • mime_type -- 特定的mime_類型。

  • headers -- 自定義標題。

  • filename -- 覆蓋文件名。

  • _range --

async sanic.response.file_stream(location, status=200, chunk_size=4096, mime_type=None, headers=None, filename=None, chunked='deprecated', _range=None)?

返回帶有文件數據的流響應對象。

參數
  • location -- 文件在系統上的位置。

  • chunk_size -- 流中每個塊的大?。ㄗ止潱?/p>

  • mime_type -- 特定的mime_類型。

  • headers -- 自定義標題。

  • filename -- 覆蓋文件名。

  • chunked -- 已棄用

  • _range --

sanic.response.html(body, status=200, headers=None)?

返回具有HTML格式的正文的響應對象。

參數
  • body -- str或bytes-ish,或具有 __html__ 或 _repr_html_.

  • status -- 響應代碼。

  • headers -- 自定義標題。

sanic.response.json(body, status=200, headers=None, content_type='application/json', dumps=<built-in function dumps>, **kwargs)?

返回主體為JSON格式的響應對象。

參數
  • body -- 要序列化的響應數據。

  • status -- 響應代碼。

  • headers -- 自定義標題。

  • kwargs -- 傳遞給JSON編碼器的其余參數。

sanic.response.raw(body, status=200, headers=None, content_type='application/octet-stream')?

返回不編碼正文的響應對象。

參數
  • body -- 響應數據。

  • status -- 響應代碼。

  • headers -- 自定義標題。

  • content_type -- 響應的內容類型(字符串)。

sanic.response.redirect(to, headers=None, status=302, content_type='text/html; charset=utf-8')?

中止執行并導致302重定向(默認情況下)。

參數
  • to -- 要重定向到的路徑或完全限定的URL

  • headers -- 要包含在新請求中的頭的可選dict

  • status -- 新請求的狀態代碼(int),默認為302

  • content_type -- 響應的內容類型(字符串)

返回

重定向響應

sanic.response.stream(streaming_fn, status=200, headers=None, content_type='text/plain; charset=utf-8', chunked='deprecated')?

接受連體衣 streaming_fn 可用于將塊寫入流響應。返回A StreamingHTTPResponse .

示例用法:

@app.route("/")
async def index(request):
    async def streaming_fn(response):
        await response.write('foo')
        await response.write('bar')

    return stream(streaming_fn, content_type='text/plain')
參數
  • streaming_fn -- 協同程序接受響應并將內容寫入該響應。

  • mime_type -- 特定的mime_類型。

  • headers -- 自定義標題。

  • chunked -- 已棄用

sanic.response.text(body, status=200, headers=None, content_type='text/plain; charset=utf-8')?

返回正文為文本格式的響應對象。

參數
  • body -- 要編碼的響應數據。

  • status -- 響應代碼。

  • headers -- 自定義標題。

  • content_type -- 響應的內容類型(字符串)

sanic.路由器模塊?

class sanic.router.Parameter(name, cast)?

基類:tuple

property cast?

字段編號1的別名

property name?

字段編號0的別名

exception sanic.router.ParameterNameConflicts?

基類:Exception

class sanic.router.Route(handler, methods, pattern, parameters, name, uri, endpoint, ignore_body)?

基類:tuple

property endpoint?

字段編號6的別名

property handler?

字段編號0的別名

property ignore_body?

字段編號7的別名

property methods?

字段編號1的別名

property name?

字段編號4的別名

property parameters?

字段編號3的別名

property pattern?

字段編號2的別名

property uri?

字段5的別名

exception sanic.router.RouteDoesNotExist?

基類:Exception

exception sanic.router.RouteExists?

基類:Exception

class sanic.router.Router(app)?

基類:object

路由器支持帶參數和方法檢查的基本路由

用途:

@sanic.route('/my/url/<my_param>', methods=['GET', 'POST', ...])
def my_route(request, my_param):
    do stuff...

@sanic.route('/my/url/<my_param:my_type>', methods['GET', 'POST', ...])
def my_route_with_type(request, my_param: my_type):
    do stuff...

參數將作為關鍵字參數傳遞給請求處理函數。提供的參數也可以通過將:type附加到<parameter>來具有類型。給定的參數必須能夠類型化。如果未提供類型,則應提供字符串。正則表達式也可以作為類型傳入。為函數提供的參數將始終是一個字符串,與類型無關。

add(uri, methods, handler, host=None, strict_slashes=False, ignore_body=False, version=None, name=None)?

將處理程序添加到路由列表

參數
  • uri -- 匹配路徑

  • methods -- 接受方法名稱的序列。如果沒有提供,則允許使用任何方法

  • handler -- 請求處理程序函數。執行時,它應該提供一個響應對象。

  • strict_slashes -- 嚴格到尾隨斜線

  • ignore_body -- 處理程序不應讀取正文(如果有

  • version -- 路線或藍圖的當前版本。更多詳細信息,請參閱文檔。

返回

沒有什么

static check_dynamic_route_exists(pattern, routes_to_check, parameters)?

根據URL模式和參數的比較,檢查所提供的路由列表中是否存在URL模式。

參數
  • pattern -- URL參數模式

  • routes_to_check -- 動態路由列表,可哈希路由或不可哈希路由。

  • parameters -- 名單 Parameter 項目

返回

如果存在匹配路由,則為索引和路由的元組;其他-1表示索引,無表示路由

find_route_by_view_name(view_name, name=None)?

根據指定的視圖名稱在路由器中查找路由。

參數
  • view_name -- 要搜索的視圖名稱字符串

  • kwargs -- 附加參數,通常用于靜態文件

返回

包含(uri,route)的元組

get(request)?

根據請求的URL獲取請求處理程序,或引發錯誤

參數

request -- 請求對象

返回

處理程序、參數、關鍵字參數

get_supported_methods(url)?

獲取URL和可選主機的支持方法列表。

參數

url -- URL字符串(包括主機)

返回

支持方法的凍結集

is_stream_handler(request)?

請求的處理程序是否為流。:param請求:請求對象:返回:bool

parameter_pattern = re.compile('<(.+?)>')?
classmethod parse_parameter_string(parameter_string)?

將參數字符串解析為其組成名稱、類型和模式

例如::

parse_parameter_string('<param_one:[A-z]>')` ->
    ('param_one', str, '[A-z]')
參數

parameter_string -- 解析字符串

返回

包含的元組(參數_name、參數_type、參數_pattern)

routes_always_check = None?
routes_dynamic = None?
routes_static = None?
sanic.router.url_hash(url)?

sanic.server模塊?

class sanic.server.AsyncioServer(loop, serve_coro, connections, after_start, before_stop, after_stop)?

基類:object

使用可能對需要手動管理服務器生命周期的用戶有用的功能包裝異步服務器。

after_start()?

觸發“服務器啟動后”事件

after_stop()?

觸發“服務器停止后”事件

before_stop()?

觸發“服務器停止前”事件

close()?
connections?
is_serving()?
loop?
serve_coro?
serve_forever()?
server?
start_serving()?
wait_closed()?
class sanic.server.ConnInfo(transport, unix=None)?

基類:object

本地和遠程地址以及SSL狀態信息。

client?
client_port?
peername?
server?
server_port?
sockname?
ssl?
class sanic.server.HttpProtocol(*, loop, app, signal=<sanic.server.Signal object>, connections=None, state=None, unix=None, **kwargs)?

基類:asyncio.protocols.Protocol

此類提供SANIC框架的基本HTTP實現。

access_log?
app?
check_timeouts()?

它會定期自行運行,以強制執行任何過期的超時。

close()?

強制關閉連接。

close_if_idle()?

如果沒有發送或接收請求,請關閉連接

返回

布爾值-關閉時為真,保持打開時為假

conn_info?
connection_lost(exc)?

當連接丟失或關閉時調用。

參數是一個異常對象或無(后者意味著接收到一個常規的EOF,或者連接被中止或關閉)。

connection_made(transport)?

在建立連接時調用。

參數是表示管道連接的傳輸。要接收數據,請等待data_received()調用。當連接關閉時,將調用連接丟失()。

async connection_task()?

運行HTTP連接。

超時和一些額外的錯誤處理在這里發生,而其他大多數事情都發生在http類或從那里調用的代碼中。

connections?
data_received(data)?

當接收到某些數據時調用。

參數是一個字節對象。

error_handler?
keep_alive_timeout?
loop?
pause_writing()?

當傳輸的緩沖區超過高水位線時調用。

pause和resume調用是成對的——當緩沖區嚴格超過高位標記時(即使后續寫入會使緩沖區大小增加更多),調用pause_writing()一次,當緩沖區大小達到低位標記時,調用resume_writing()一次。

請注意,如果緩沖區大小等于高位標記,則不會調用pause_writing()——必須嚴格執行。相反,當緩沖區大小等于或小于低水位線時,將調用resume_writing()。這些結束條件對于確保當任何一個標記為零時事情按預期進行都很重要。

注意:這是唯一一個沒有通過eventloop.call_Soon()調用的協議回調——如果是,它在最需要的時候不會有任何效果(當應用在調用pause_writing()之前一直在寫而不屈服)。

async receive_more()?

等待,直到更多的數據被接收到self._buffer中。

recv_buffer?
request?
request_buffer_queue_size?
request_class?
request_handler?
request_max_size?
request_timeout?
response_timeout?
resume_writing()?

當傳輸的緩沖區低于低水位線時調用。

有關詳細信息,請參閱pause_writing()。

async send(data)?

用反壓控制寫入數據。

signal?
state?
transport?
url?
class sanic.server.Signal?

基類:object

stopped = False?
sanic.server.bind_socket(host: str, port: int, *, backlog=100) socket.socket?

創建TCP服務器套接字。:param host:可以指定IPv4、IPv6或主機名:param port:TCP端口號:param backlog:到隊列的最大連接數:return:插座.插座對象

sanic.server.bind_unix_socket(path: str, *, mode=438, backlog=100) socket.socket?

創建unix套接字。:param path:文件系統路徑:param backlog:到隊列的最大連接數:返回:插座.插座對象

sanic.server.remove_unix_socket(path: str) None?

在服務器退出期間刪除死機unix套接字。

sanic.server.serve(host, port, app, before_start=None, after_start=None, before_stop=None, after_stop=None, ssl=None, sock=None, unix=None, reuse_port=False, loop=None, protocol=<class 'sanic.server.HttpProtocol'>, backlog=100, register_sys_signals=True, run_multiple=False, run_async=False, connections=None, signal=<sanic.server.Signal object>, state=None, asyncio_server_kwargs=None)?

在單個進程上啟動異步HTTP服務器。

參數
  • host -- 主機地址

  • port -- 端口到主機上

  • before_start -- 要在服務器開始偵聽之前執行的函數。采取論點 app 實例和 loop

  • after_start -- 服務器開始偵聽后要執行的函數。接受參數 app 實例和 loop

  • before_stop -- 在執行停止信號之前接收到停止信號時要執行的功能。采取論點 app 實例和 loop

  • after_stop -- 在收到停止信號后執行的功能。采取論點 app 實例和 loop

  • ssl -- SSLContext

  • sock -- 服務器接受連接的套接字

  • unix -- 要監聽的Unix套接字而不是TCP端口

  • reuse_port -- True 對于多個工人

  • loop -- 異步兼容事件循環

  • run_async -- bool:不要為服務器創建新的事件循環,并返回一個AsyncServer對象,而不是運行它

  • asyncio_server_kwargs -- asyncio/uvloop create_server方法的鍵值參數

返回

沒有什么

sanic.server.serve_multiple(server_settings, workers)?

同時啟動多個服務器進程。在中斷和終止信號時停止,并在完成時排出連接。

參數
  • server_settings -- 要傳遞給serve函數的kw參數

  • workers -- 要啟動的工人數

  • stop_event -- 如果提供,用作停止信號

返回

sanic.server.trigger_events(events, loop)?

觸發器事件回調(函數或異步)

參數
  • events -- 要執行的一個或多個同步或異步函數

  • loop -- 事件循環

靜態模塊?

sanic.static.register(app, uri: str, file_or_directory: Union[str, bytes, pathlib.PurePath], pattern, use_modified_since, use_content_range, stream_large_files, name: str = 'static', host=None, strict_slashes=None, content_type=None)?

通過向路由器添加路由并注冊處理程序,向SANIC注冊靜態目錄處理程序。

參數
  • app -- Sanic

  • file_or_directory (Union[str,bytes,Path]) -- 提供服務的文件或目錄路徑

  • uri (str) -- 提供服務的URL

  • pattern -- 用于匹配URL中文件的正則表達式

  • use_modified_since -- 如果為真,則發送文件修改時間,如果瀏覽器與服務器匹配,則返回“未修改”。

  • use_content_range -- 如果為真,則處理范圍請求的頭并發送請求的文件部分

  • stream_large_files -- 如果為真,則使用文件流()處理程序而不是文件()處理程序發送文件。如果這是一個整數,則表示要切換到文件流()的閾值大小。

  • name (str) -- 用于URL的用戶定義名稱

  • content_type -- 標題的用戶定義內容類型

返回

注冊的靜電線路

返回類型

List[sanic.router.Route]

sanic.測試模塊?

sanic.views模塊?

class sanic.views.CompositionView?

基類:object

SANIC的簡單方法函數映射視圖。您可以為您想要支持的每個HTTP方法向方法(get、post、put、patch、delete)添加處理程序函數。

例如:

view=compositionview()視圖。添加( [“得到”] ,lambda請求:text(“I am get method”))視圖。添加( [“郵”、“放”] ,lambda請求:text(“我是post/put方法”))

等。

如果有人試圖使用一個未實現的方法,將會有405個響應。

add(methods, handler, stream=False)?
class sanic.views.HTTPMethodView?

基類:object

SANIC視圖的簡單基于類的實現。您應該為您想要支持的每個HTTP方法實現類的方法(get、post、put、patch、delete)。

例如:

class DummyView(HTTPMethodView):
    def get(self, request, *args, **kwargs):
        return text('I am get method')
    def put(self, request, *args, **kwargs):
        return text('I am put method')

等。

如果有人試圖使用一個未實現的方法,將會有405個響應。

如果需要任何URL參數,只需在方法定義中提到它們:

class DummyView(HTTPMethodView):
    def get(self, request, my_param_here, *args, **kwargs):
        return text('I am get method with %s' % my_param_here)
要將視圖添加到路由中,可以使用
  1. app.add_route(dummyview.as_view(),'/')

  2. app.route(“/”)(dummyView.as_View())

要添加任何decorator,可以將其設置為decorators變量

classmethod as_view(*class_args, **class_kwargs)?

用于路由系統的返回視圖函數,該函數將請求發送到適當的處理程序方法。

decorators: List[Callable[[Callable[[...], Any]], Callable[[...], Any]]] = []?
dispatch_request(request, *args, **kwargs)?
sanic.views.stream(func)?

sanic.websocket模塊?

exception sanic.websocket.ConnectionClosed(rcvd: Optional[websockets.frames.Close], sent: Optional[websockets.frames.Close], rcvd_then_sent: Optional[bool] = None)?

基類:websockets.exceptions.WebSocketException

嘗試與關閉的連接交互時引發。

屬性:
rcvd(可選 [關] ):如果收到關閉幀,則其代碼和

有關原因,請參閱 rcvd.codercvd.reason 。

已發送(可選 [關] ):如果發送了關閉幀,則其代碼和原因

在以下位置提供 sent.codesent.reason 。

rcvd_Then_Sent(可選 [bool] ):如果收到關閉幀并且

發送時,此屬性從連接的這一端的角度告訴此操作的發生順序。

property code: int?
property reason: str?
class sanic.websocket.WebSocketConnection(send: Callable[[MutableMapping[str, Any]], Awaitable[None]], receive: Callable[[], Awaitable[MutableMapping[str, Any]]], subprotocols: Optional[List[str]] = None)?

基類:object

async accept() None?
async close() None?
async receive(*args, **kwargs) Optional[str]?
async recv(*args, **kwargs) Optional[str]?
async send(data: Union[str, bytes], *args, **kwargs) None?
class sanic.websocket.WebSocketProtocol(*args, websocket_timeout=10, websocket_max_size=None, websocket_max_queue=None, websocket_read_limit=65536, websocket_write_limit=65536, websocket_ping_interval=20, websocket_ping_timeout=20, **kwargs)?

基類:sanic.server.HttpProtocol

access_log?
app?
conn_info?
connection_lost(exc)?

當連接丟失或關閉時調用。

參數是一個異常對象或無(后者意味著接收到一個常規的EOF,或者連接被中止或關閉)。

connections?
data_received(data)?

當接收到某些數據時調用。

參數是一個字節對象。

error_handler?
keep_alive_timeout?
keep_alive_timeout_callback()?
loop?
recv_buffer?
request?
request_buffer_queue_size?
request_class?
request_handler?
request_max_size?
request_timeout?
request_timeout_callback()?
response_timeout?
response_timeout_callback()?
signal?
state?
transport?
url?
async websocket_handshake(request, subprotocols=None)?
write_response(response)?

sanic.worker模塊?

模塊內容?

class sanic.Blueprint(name, url_prefix=None, host=None, version=None, strict_slashes=None)?

基類:object

add_route(handler, uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, version=None, name=None, stream=False)?

從函數創建藍圖路由。

參數
  • handler -- 用于處理URI請求的函數。接受帶有視圖類方法的函數或類實例。

  • uri -- 路由可訪問的終結點。

  • methods -- 可接受的HTTP方法列表。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • version -- 藍圖版本

  • name -- URL的用戶定義路由名稱

  • stream -- 布爾值,指定處理程序是否為流處理程序

返回

函數或類實例

add_websocket_route(handler, uri, host=None, version=None, name=None)?

從函數創建藍圖WebSocket路由。

參數
  • handler -- 用于處理URI請求的函數。接受帶有視圖類方法的函數或類實例。

  • uri -- 路由可訪問的終結點。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • version -- 藍圖版本

  • name -- 用于標識WebSocket路由的唯一名稱

返回

函數或類實例

delete(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL DELETE HTTP 方法

參數
  • uri -- 要標記到的URL DELETE 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

exception(*args, **kwargs)?

此方法允許為有問題的當前藍圖創建全局異常處理程序。

參數
  • args -- 處理程序要捕獲的python異常列表

  • kwargs -- 要傳遞給異常處理程序的其他可選參數

:返回修飾方法以處理任何

在此藍圖下注冊的路線。

get(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL GET HTTP 方法

參數
  • uri -- 要標記到的URL GET 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

static group(*blueprints, url_prefix='')?

創建一個藍圖列表,可以選擇在通用URL前綴下對其進行分組。

參數
  • blueprints -- 要注冊為組的藍圖

  • url_prefix -- 所有子前綴的URL路由

head(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL HEAD HTTP 方法

參數
  • uri -- 要標記到的URL HEAD 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

listener(event)?

從修飾函數創建偵聽器。

參數

event -- 要收聽的事件。

middleware(*args, **kwargs)?

從修飾函數創建藍圖中間件。

參數
  • args -- 調用中間件時要使用的位置參數

  • kwargs -- 可用于中間件的可選關鍵字參數。

options(uri, host=None, strict_slashes=None, version=None, name=None)?

在下添加API URL OPTIONS HTTP 方法

參數
  • uri -- 要標記到的URL OPTIONS 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

patch(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PATCH HTTP 方法

參數
  • uri -- 要標記到的URL PATCH 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

post(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL POST HTTP 方法

參數
  • uri -- 要標記到的URL POST 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

put(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PUT HTTP 方法

參數
  • uri -- 要標記到的URL PUT 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 sanic.app.Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

register(app, options)?

將藍圖注冊到sanic應用程序。

參數
  • app -- 實例 sanic.app.Sanic

  • options -- 將藍圖注冊到應用程序時要使用的選項。 url_prefix -覆蓋藍圖前綴的URL前綴

route(uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, stream=False, version=None, name=None)?

從修飾函數創建藍圖路由。

參數
  • uri -- 路由可訪問的終結點。

  • methods -- 可接受的HTTP方法列表。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • stream -- 如果路由應該提供流支持

  • version -- 藍圖版本

  • name -- 用于標識路由的唯一名稱

:返回一個修飾方法,調用該方法時將返回一個對象

類型的 FutureRoute

static(uri, file_or_directory, *args, **kwargs)?

從修飾函數創建藍圖靜態路由。

參數
  • uri -- 路由可訪問的終結點。

  • file_or_directory -- 靜態資產。

websocket(uri, host=None, strict_slashes=None, version=None, name=None)?

從修飾函數創建藍圖WebSocket路由。

參數
  • uri -- 路由可訪問的終結點。

  • host -- 要使用的SANIC服務器的FQDN的IP地址。

  • strict_slashes -- 強制通過培訓請求API URL /

  • version -- 藍圖版本

  • name -- 用于標識WebSocket路由的唯一名稱

class sanic.Sanic(name: Optional[str] = None, router: Optional[sanic.router.Router] = None, error_handler: Optional[sanic.handlers.ErrorHandler] = None, load_env: bool = True, request_class: Optional[sanic.request.Request] = None, strict_slashes: bool = False, log_config: Optional[Dict[str, Any]] = None, configure_logging: bool = True, register: Optional[bool] = None)?

基類:object

add_route(handler, uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, version=None, name=None, stream=False)?

將類實例或函數注冊為應用程序URL路由的處理程序的幫助器方法。

參數
  • handler -- 函數或類實例

  • uri -- URL路徑

  • methods -- 允許的方法列表或元組,如果使用httpmethodview,則會重寫這些方法

  • host --

  • strict_slashes --

  • version --

  • name -- URL的用戶定義路由名稱

  • stream -- 布爾值,指定處理程序是否為流處理程序

返回

函數或類實例

add_task(task)?

在循環開始后,安排任務稍后運行。與asyncio.secure-future不同的是,它也不會返回未來,實際的secure-future調用會延遲到服務器啟動之前。

參數

task -- 未來、古魯特或等待

add_websocket_route(handler, uri, host=None, strict_slashes=None, subprotocols=None, version=None, name=None)?

將函數注冊為WebSocket路由的幫助器方法。

參數
  • handler -- 可以處理WebSocket請求的類的可調用函數或實例

  • host -- 主機IP或FQDN詳細信息

  • uri -- 將映射到websocket處理程序的URL路徑

  • strict_slashes -- 如果API端點需要以“/”終止或不終止

  • subprotocols -- 用于WebSocket握手的子協議

  • name -- 為該URL分配的唯一名稱,以便它可以與 url_for()

返回

反對者裝飾者 websocket()

property asgi_client?
blueprint(blueprint, **options)?

在應用程序上注冊藍圖。

參數
  • blueprint -- 藍圖對象或其(列表、元組)

  • options -- 帶藍圖默認值的選項字典

返回

沒有什么

blueprints: Dict[str, sanic.blueprints.Blueprint]?
converted_response_type(response)?

未提供實現。

async create_server(host: Optional[str] = None, port: Optional[int] = None, *, debug: bool = False, ssl: Optional[Union[dict, ssl.SSLContext]] = None, sock: Optional[socket.socket] = None, protocol: Optional[Type[asyncio.protocols.Protocol]] = None, backlog: int = 100, access_log: Optional[bool] = None, unix: Optional[str] = None, return_asyncio_server=False, asyncio_server_kwargs=None) Optional[sanic.server.AsyncioServer]?

的異步版本 run() .

此方法將負責調用 before_start 事件通過 trigger_events() 方法調用,然后啟動 桑尼克 應用程序處于異步模式。

注解

這不支持多處理,并且不是運行 Sanic 應用。

參數
  • host (str) -- 主機地址

  • port (int) -- 端口到主機上

  • debug (bool) -- 啟用調試輸出(減慢服務器速度)

  • ssl (SSLContext or dict) -- sslcontext,或工作進程的ssl加密的證書和密鑰的位置

  • sock (socket) -- 服務器接受連接的套接字

  • protocol (type[Protocol]) -- 異步協議類的子類

  • backlog (int) -- 在拒絕新連接之前,系統將允許的一些未被接受的連接

  • access_log (bool) -- 允許寫入訪問日志(減慢服務器速度)

  • return_asyncio_server (bool) -- 定義是否需要返回asyncio.server或立即啟動它的標志

  • asyncio_server_kwargs (dict) -- asyncio/uvloop create_server方法的鍵值參數

返回

asyncio server如果return_asyncio_server為true,則為空

delete(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL DELETE HTTP 方法

參數
  • uri -- 要標記到的URL DELETE 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

enable_websocket(enable=True)?

啟用或禁用對WebSocket的支持。

如果將WebSocket路由添加到應用程序,則會自動啟用WebSocket。

exception(*exceptions)?

修飾要注冊為異常處理程序的函數

參數

exceptions -- 例外

返回

裝飾功能

get(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL GET HTTP 方法

參數
  • uri -- 要標記到的URL GET 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

classmethod get_app(name: str, *, force_create: bool = False) sanic.app.Sanic?

檢索實例化的Sanic實例

async handle_exception(request, exception)?
async handle_request(request)?

接受來自HTTP服務器的請求并返回要發送回的響應對象HTTP服務器只需要一個響應對象,因此必須在此處進行異常處理。

參數
  • request -- HTTP請求對象

  • write_callback -- 以響應作為唯一參數調用的同步響應函數

  • stream_callback -- 處理流式處理程序生成的流式ttpresponse的協程。

返回

沒有什么

head(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?
listener(event)?

從修飾函數創建偵聽器。

參數

event -- 要收聽的事件

listeners: Dict[str, List[Callable[[sanic.handlers.Sanic, asyncio.events.AbstractEventLoop], Optional[Coroutine[Any, Any, None]]]]]?
property loop?

與asyncio.get_event_loop()同義。

僅在使用時支持 app.run 方法。

middleware(middleware_or_request)?

裝飾和注冊在請求之前調用的中間件??梢哉{用為 @app.middleware@應用中間件(請求)

Param

中間件請求:用于標識正在注冊的中間件類型的可選參數。

named_request_middleware: Dict[str, Union[Callable[[sanic.request.Request], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]], Callable[[sanic.request.Request, sanic.response.BaseHTTPResponse], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]]]]?
named_response_middleware: Dict[str, Union[Callable[[sanic.request.Request], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]], Callable[[sanic.request.Request, sanic.response.BaseHTTPResponse], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]]]]?
options(uri, host=None, strict_slashes=None, version=None, name=None, ignore_body=True)?

在下添加API URL OPTIONS HTTP 方法

參數
  • uri -- 要標記到的URL OPTIONS 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

patch(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PATCH HTTP 方法

參數
  • uri -- 要標記到的URL PATCH 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

post(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL POST HTTP 方法

參數
  • uri -- 要標記到的URL POST 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

put(uri, host=None, strict_slashes=None, stream=False, version=None, name=None)?

在下添加API URL PUT HTTP 方法

參數
  • uri -- 要標記到的URL PUT 方法 HTTP

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • version -- API版本

  • name -- 可用于標識路由的唯一名稱

返回

具有 route() 方法 的對象裝飾器

classmethod register_app(app: sanic.app.Sanic) None?

注冊Sanic實例

register_listener(listener, event)?

注冊給定事件的偵聽器。

參數
  • listener -- 可調用,即設置數據庫(應用程序,循環)

  • event -- 何時注冊偵聽器,即“在服務器啟動之前”

返回

聽眾

register_middleware(middleware, attach_to='request')?

注冊一個應用程序級中間件,該中間件將附加到此應用程序下注冊的所有API URL。

此方法由 middleware() 在應用程序級別提供的裝飾器。

參數
  • middleware -- 要附加到中間件的回調方法

  • attach_to -- 在中間件的生命周期中需要調用中間件的狀態 HTTP請求 . 請求 -在處理請求之前調用 響應 -在返回響應之前調用

返回

裝飾器方法

register_named_middleware(middleware, route_names, attach_to='request')?
request_middleware: Iterable[Union[Callable[[sanic.request.Request], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]], Callable[[sanic.request.Request, sanic.response.BaseHTTPResponse], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]]]]?
response_middleware: Iterable[Union[Callable[[sanic.request.Request], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]], Callable[[sanic.request.Request, sanic.response.BaseHTTPResponse], Union[sanic.response.HTTPResponse, None, Coroutine[Any, Any, Optional[sanic.response.HTTPResponse]]]]]]?
route(uri, methods=frozenset({'GET'}), host=None, strict_slashes=None, stream=False, version=None, name=None, ignore_body=False)?

修飾要注冊為路由的函數

參數
  • uri -- URL路徑

  • methods -- 允許的方法列表或元組

  • host --

  • strict_slashes --

  • stream --

  • version --

  • name -- URL的用戶定義路由名稱

返回

路由元組,修飾函數

run(host: Optional[str] = None, port: Optional[int] = None, *, debug: bool = False, auto_reload: Optional[bool] = None, ssl: Optional[Union[dict, ssl.SSLContext]] = None, sock: Optional[socket.socket] = None, workers: int = 1, protocol: Optional[Type[asyncio.protocols.Protocol]] = None, backlog: int = 100, register_sys_signals: bool = True, access_log: Optional[bool] = None, unix: Optional[str] = None, loop: None = None) None?

運行HTTP服務器并監聽,直到鍵盤中斷或終端信號。在終端上,在關閉之前排空連接。

參數
  • host (str) -- 主機地址

  • port (int) -- 端口到主機上

  • debug (bool) -- 啟用調試輸出(減慢服務器速度)

  • auto_reload -- 每當源代碼被更改時重新加載應用程序。在調試模式下默認啟用。

  • ssl (SSLContext or dict) -- sslcontext,或工作進程的ssl加密的證書和密鑰的位置

  • sock (socket) -- 服務器接受連接的套接字

  • workers (int) -- 在尊重它之前接收的進程數

  • protocol (type[Protocol]) -- 異步協議類的子類

  • backlog (int) -- 在拒絕新連接之前,系統將允許的一些未被接受的連接

  • register_sys_signals (bool) -- 注冊 SIG* 事件

  • access_log (bool) -- 允許寫入訪問日志(減慢服務器速度)

  • unix (str) -- 要監聽的Unix套接字而不是TCP端口

返回

沒有什么

static(uri, file_or_directory, pattern='/?.+', use_modified_since=True, use_content_range=False, stream_large_files=False, name='static', host=None, strict_slashes=None, content_type=None)?

注冊根目錄以從中提供文件。輸入可以是文件或目錄。此方法將使設置 Route 服務靜態文件所必需的。

參數
  • uri -- 用于服務靜態內容的URL路徑

  • file_or_directory -- 包含靜態文件的靜態文件/目錄的路徑

  • pattern -- 識別有效靜態文件的regex模式

  • use_modified_since -- 如果為真,則發送文件修改時間,如果瀏覽器與服務器匹配,則返回“未修改”。

  • use_content_range -- 如果為真,則處理范圍請求的頭并發送請求的文件部分

  • stream_large_files -- 如果為真,請使用 StreamingHTTPResponse.file_stream() 處理程序而不是 HTTPResponse.file() 用于發送文件的處理程序。如果這是一個整數,則表示要切換到的閾值大小 StreamingHTTPResponse.file_stream()

  • name -- 用于URL的用戶定義名稱

  • host -- 要使用的服務的主機IP或FQDN

  • strict_slashes -- 指導 Sanic 檢查請求URL是否需要使用 /

  • content_type -- 標題的用戶定義內容類型

返回

在路由器上注冊的路由

返回類型

List[sanic.router.Route]

stop()?

這會殺死 Sanic

property test_client?
test_mode = False?
async trigger_events(events, loop)?

觸發器事件(函數或異步):參數事件:要執行的一個或多個同步或異步函數:參數循環:事件循環

update_config(config: Union[bytes, str, dict, Any])?

更新應用程序配置.

請參考配置.py::Config.update_配置文件。

url_for(view_name: str, **kwargs)?

基于視圖名稱和提供的值生成URL。

為了構建URL,必須將所有請求參數作為關鍵字參數提供,并且每個參數必須通過指定參數類型的測試。如果不滿足這些條件,a URLBuildError 將被拋出。

不是請求參數的關鍵字參數將包含在輸出URL的查詢字符串中。

參數
  • view_name -- 引用視圖名稱的字符串

  • **kwargs -- 用于生成請求參數和查詢字符串參數的鍵和值。

返回

內置URL

產生:

URLBuildError

websocket(uri, host=None, strict_slashes=None, subprotocols=None, version=None, name=None)?

修飾要注冊為websocket路由的函數

參數
  • uri -- URL路徑

  • host -- 主機IP或FQDN詳細信息

  • strict_slashes -- 如果API端點需要以“/”終止或不終止

  • subprotocols -- 具有支持的子協議的str的可選列表

  • name -- 為該URL分配的唯一名稱,以便它可以與 url_for()

返回

路由元組,修飾函數

websocket_tasks: Set[_asyncio.Future]?