夫唯seo培训,系统优化开关在哪里,ui设计去什么公司好,wordpress分级菜单Sanic框架
Sanic是Python3.7下的Web服务器和异步Web框架#xff0c;旨在提高性能。
Sanic允许使用Python3.5中添加的 async / await 语法#xff0c;这使得您的代码有效的避免阻塞从而达到提升响应速度的目的。 从2016年5月发布第一版Sanic框架至今#xff0c;已经7个年头…Sanic框架
Sanic是Python3.7下的Web服务器和异步Web框架旨在提高性能。
Sanic允许使用Python3.5中添加的 async / await 语法这使得您的代码有效的避免阻塞从而达到提升响应速度的目的。 从2016年5月发布第一版Sanic框架至今已经7个年头了这7年经过不断地积累和更新Sanic已经从一个步履蹒跚地小框架变成了一个健步如飞地稳重框架啦~
Sanic 的使用和 Flask 非常相似有 Flask 基础的童鞋可以很快掌握这个框架。
安装Sanic
Python安装第三方模块都是利用pip工具进行安装
pip install sanic
# 如果不想使用uvloop和ujson 可以这样安装
SANIC_NO_UVLOOPtrue SANIC_NO_UJSONtrue pip install sanic
搭建一个简单的Sanic框架
# file name: sanic_test.py
from sanic import Sanic
from sanic.response import jsonapp Sanic()app.route(/)
async def test(request):msg {msg: Hello Sanic, I am zdm.}return json(msg, ensure_asciiFalse)if __name__ __main__:app.run(host127.0.0.1, port8080)将上述代码写入名为sanic_test.py的文件中通过终端执行该文件启动Sanic服务。
python sanic_test.py终端出现Starting worker表示启动成功。 在浏览器中访问 http://127.0.0.1:8080得到返回结果 {‘msg’: ‘Hello Sanic, I am zdm.’}。 Blueprint蓝图对象
** 蓝图对象是Sanic应用程序组织代码的一种方式可以将应用程序分成多个模块每个模块都有自己的路由和视图函数。**
** 如下语句定义了一个基于Sanic框架的蓝图对象用于实现文本纠错服务。**
from sanic import Blueprint, responsetextcorrectservice Blueprint(textcorrectservice) # 创建一个名为‘textcorrectservice’的蓝图对象举一个蓝图对象的例子
** 假设我们要实现一个简单的Web应用程序用于查询当天的天气情况。我们可以使用Sanic框架创建一个蓝图对象用于处理HTTP请求和响应如下所示**
# file name: Blueprint_test.py
from sanic import Sanic, Blueprint
from sanic.response import jsonweather_service Blueprint(weather_service)app Sanic(__name__,)
app.blueprint(weather_service)weather_service.route(/weather)
async def get_weather(request):# 获取当天的天气情况weather get_today_weather()# 生成HTTP响应return json({weather: weather})def get_today_weather():return 今天是个好天气~if __name__ __main__:app.run(host127.0.0.1, port8080)例子解析 在上面的代码中首先我们创建了一个名为weather_service的蓝图对象用于处理HTTP请求和响应。在蓝图对象中我们定义了一个名为get_weather的路由和视图函数用于处理/weather路径的HTTP请求。在视图函数中我们调用了一个名为get_today_weather的函数用于获取当天的天气情况并使用Sanic框架中的response模块生成了一个JSON格式的HTTP响应。 然后我们创建了一个名为app的应用程序实例并将weather_service注册到应用程序中。 最后通过app.run启动应用程序并监听来自8080端口的额请求。
将上述代码写入名为Blueprint_test.py的文件中通过终端执行该文件启动Sanic服务。
python Blueprint_test.py终端出现Starting worker表示启动成功。 在浏览器中访问 http://127.0.0.1:8080/weather得到返回结果 {“weather”: “今天是个好天气~”}。