Sanic官翻-概述

概述

参考

文档地址

Sanic是Python 3.6以上版本的网络服务器和网络框架,旨在快速发展。它允许使用Python 3.5中添加的async / await语法,这使您的代码无阻塞且快速。

该项目的目标是提供一种简单的方法来启动和运行高性能HTTP服务器,该服务器易于构建,扩展和最终扩展。

当前版本是20.12.0

在开始之前,请确保同时拥有pip和Python 3.6版。Sanic使用了新的async / await语法,因此早期版本的python将无法使用。

开始

  • 安装

依赖ujson的bash安装

pip3 install sanic

若是不想使用uvloopujson

SANIC_NO_UVLOOP=true SANIC_NO_UJSON=true pip install sanic

使用conda-forge安装

conda config --add channels conda-forge
conda install sanic
  • 创建主文件

创建main.py

from sanic import Sanic
from sanic.response import json

app = Sanic("hello_example")

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

if __name__ == "__main__":
  app.run(host="0.0.0.0", port=8000)
  • 开启服务
python3 main.py
  • 浏览器输入
http://0.0.0.0:8000
  • 应用注册

当您实例化一个Sanic实例时,可以稍后从Sanic应用程序注册表检索该实例。例如,如果您需要从无法访问Sanic实例的位置访问Sanic实例,这将非常有用。

# ./path/to/server.py
from sanic import Sanic

app = Sanic("my_awesome_server")

# ./path/to/somewhere_else.py
from sanic import Sanic

app = Sanic.get_app("my_awesome_server")

如果使用函数Sanic.get_app("non-existiong")访问的app实例不存在,则默认抛出SanicException异常。相反,您可以强制该方法返回具有该名称的Sanic的新实例:

app = Sanic.get_app("my_awesome_server", force_create=True)
原文地址:https://www.cnblogs.com/fhkankan/p/14763478.html