入门
确保两样都有 pip 以及至少3.6版的Python。Sanic使用新的 async/await 语法,所以早期版本的python将不起作用。
1. 安装 SANIC
如果您运行的是全新安装的Fedora28或更高版本,请确保您拥有 redhat-rpm-config
如果您想使用 sanic
具有 ujson
附属国。
pip3 install sanic
安装sanic uvloop 或 ujson 使用bash,您可以使用任何truthy字符串提供这些环境变量中的一个或两个 ‘y’, ‘yes’, ‘t’, ‘true’, ‘on’, ‘1’ 设置 SANIC_NO_X (带“X”= UVLOOP /将UJSON)设置为true将停止该功能的安装。
SANIC_NO_UVLOOP=true SANIC_NO_UJSON=true pip3 install --no-binary :all: sanic
您也可以从安装Sanic conda-forge
conda config --add channels conda-forge
conda install sanic
2。创建一个名为 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)
3. 运行服务器
python3 main.py
4. 检查浏览器
打开地址 http://0.0.0.0:8000 在您的网络浏览器中。你应该看到信息 你好,世界! .
你现在有了一台正常工作的服务器!
5.应用注册表
当您实例化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-existing")
在不存在的应用程序上,它将引发 SanicException
默认情况下。相反,您可以强制该方法返回 Sanic
用那个名字:
app = Sanic.get_app("my_awesome_server", force_create=True)