赞
踩
Python版本 | 关键字 | 作用 |
---|---|---|
3.4 | asyncio | 支持异步IO的标准库 |
3.5 | async/await | 语法糖,增加异步编程友好度 |
3.6 | 稳定版asyncio |
Sanic是一个支持async/await
语法的异步无阻塞框架。
Sanic使用uvloop
作为asyncio
的事件循环:
关于uvloop
参见《理解Sanic中的uvloop》;
关于事件循环参见《理解Python异步中的事件循环(asyncio管理事件循环)》;
关于结构的具体步骤,参见2;
Sanic的处理函数必须要使用async def
语法定义,因为他们是异步函数。
包含了客户端(浏览器)发过来的HTTP请求的各类数据。包含以下属性:
属性 | 使用方式 | 意义 |
---|---|---|
json | request.json | 当客户端POST来的数据是json格式时,访问json数据 |
args | request.args | 查询字符串变量,即URL中问号?机器后面的部分 |
files | 字典 | 拥有name、body和type的文件对象的字典 |
form | 字典 | 以POST方式传递的form变量 |
body | 字节串 | POST的原始数据 |
其它还有:headers
、method
、ip
、port
、socket
、app
、url
、scheme
、host
、path
、query_string
、uri_template
、token
。
request
对象是web
应用要处理的对象,它包含了客户端(浏览器)的请求数据,通过它的各种属性来访问这些请求数据。
用于生成HTTP响应,可以生成纯文本(Plain Text,response.text()
)、HTML、JSON、文件(File)、数据流(Streaming)、文件流(File Streaming)、重定向(Redirect)、生数据(Raw)。
所有返回的响应都是一个HTTPResponse
类(或StreamingHTTPRsponse
类),两者都派生自BaseHTTPResponse
类。
基于处理函数名来生成URL,类似eval对字符串的处理,当然并不一样。
通过@app.websocket装饰器或app.add_websocket_route方法定义。
websocekt路由的处理函数有两个参数:request、websocket协议对象(有send、recv两个方法)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。