Sanic 既是一个Python web 服务器,又是一个web框架,它为速度而生。Sanic只支持Python 3.5及其以上版本,允许我们使用async/await语法来使我们的代码非阻塞且快速。
Sanic 使用uvloop和ujson来提高性能。但是,目前Windows上不支持uvloop,只能使用asnycio原生的事件循环。不过不影响你在Windows上使用Sanic,不用担心这个问题,如果想深入了解 它就去看看Sanic的源码中server.py和worker.py。其实,就是在代码中import uvloop时处理了ImportError异常。
sanic简单实例
在pycharm上安装sanic使用pip命令就可了,下面我们来看一个具体的实例感受一下,先照着代码敲一遍,一般sanic都是这样写的:
from sanic import Sanic
from sanic.response import json
app=Sanic()
@app.route('/')
async def test(request):
msg={
'message':'Welcome to 鳄鱼教程学习python'
}
return json(msg,ensure_ascii=False)
if __name__=='__main__':
app.run(host='127.0.0.1',port=888)
然后在运行程序,在浏览器访问控制台打印的URL,按照鳄鱼君的代码就是:http://127.0.0.1:888,你会看到msg的信息。
sanic实例分析
(1)首先,从sanic包导入Sanic类,这个是一个Sanic web app (web应用)的入口类。根据我们app的响应数据类型从sanic.response导入相应的响应函数,比如本例中的json()。
(2)接着,生成一个Sanic的实例app。
(3)app实例有两个最常用的方法
通过
(4)最后,通过
(2)接着,生成一个Sanic的实例app。
(3)app实例有两个最常用的方法
app.route()
和app.run()
。app.route()是一个装饰器,通过它定义我们app的访问路径(路由),比如本例中的test()函数就是用来响应根路径:/。通过
@app.route()
可以定义整个web app的各种路由。(4)最后,通过
app.run()
方法来运行app,开启一个web服务。如果不指定名字会输出警告,修改app=Sanic(__name__)就可以了,就是设置app的名字,__name__就是当前文件的名字,警告不影响app运行。
使用Sanic开发web应用的过程就是这么简单。如果开发复杂的网站,就是不断重复第三步,并使用blueprint来使代码结构更清晰。后面,我们将一一介绍使用Sanic开发网站的方方面面。你准备好了吗,让我们一起开启Sanic开发之旅吧!
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!