Gus*_*oIP 4 python python-asyncio python-3.5 sanic
我是从Sanic开始的......
Sanic是一款类似Flask的Python 3.5+ Web服务器,可以快速编写.(...)除了像Flask一样,Sanic支持异步请求处理程序.这意味着您可以使用Python 3.5中新的闪亮的async/await语法,使您的代码无阻塞且快速.
......到目前为止,关于如何使用他的例子很少,而且文档也不是那么好.
按照文档基本示例,我们有
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
    return json({"test": True})
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=8000)
例如,如何使用自定义状态代码返回自定义响应?
在Sanic中,HTTP响应是HTTPResponse的实例,正如您在下面的代码实现中看到的那样,以及函数json,text并且html只是按照工厂模式封装了对象创建
Run Code Online (Sandbox Code Playgroud)from ujson import dumps as json_dumps ... def json(body, status=200, headers=None): return HTTPResponse(json_dumps(body), headers=headers, status=status, content_type="application/json") def text(body, status=200, headers=None): return HTTPResponse(body, status=status, headers=headers, content_type="text/plain; charset=utf-8") def html(body, status=200, headers=None): return HTTPResponse(body, status=status, headers=headers, content_type="text/html; charset=utf-8")
该函数使用超快ujsonjson({"test": True})将dict对象转储为JSON字符串并设置param.content_type
因此,您可以返回自定义状态代码返回json({"message": "bla"}, status=201)或创建HTTPResponse上述代码.