当前位置: 首页 > news >正文

建最便宜的网站要多少钱抖音代运营公司

建最便宜的网站要多少钱,抖音代运营公司,二维码生成器推荐,推广软文模板今天给大家介绍一个超好用的框架,迅速将Python函数变成API,它就是最近越来越火的异步Web框架Sanic。 1. Sanic简介 Sanic 是 Python3.7 Web 服务器和 Web 框架,旨在提高性能。它允许使用 Python3.5 中添加的async/await语法,这使…

640?wx_fmt=png&wxfrom=13&tp=wxpic


今天给大家介绍一个超好用的框架,迅速将Python函数变成API,它就是最近越来越火的异步Web框架Sanic

1. Sanic简介

Sanic 是 Python3.7+ Web 服务器和 Web 框架,旨在提高性能。它允许使用 Python3.5 中添加的async/await语法,这使得您的代码有效的避免阻塞从而达到提升响应速度的目的。

看到这里,可能你会注意到,Sanic的一个显著特性就是高性能,由于支持async/await语法,它的执行速度会非常的快。

在GitHub上面有一个项目专门是给各种语言的web框架进行压测(传送门)。

框架每秒处理请求数(64并发)每秒处理请求数(256并发)每秒处理请求数(512并发)
starlette (0.20)50,90053,04853,094
sanic (22.6)49,14851,76251,300
fastapi (0.81)34,19236,86636,668
falcon (3.1)22,12221,60621,323
flask (2.2)13,94513,83013,661
tornado (6.2)13,65514,49613,924
django (4.1)8,0017,9408,002

可以看出来,Sanic在常用的Python框架中,速度是处在领先地位的。

除了高性能之外,Sanic一个超方便的地方就是可以部署在生产环境,它自带了一个Web服务器,可以使用Run方法直接启动应用。当然除此之外,您还可以使用支持ASGI(Asynchronous Server Gateway Interface)应用的服务器来部署Sanic,或者使用Gunicorn.

在这里还要特别提一下Sanic的社区,Sanic的网站拥有完善的中文用户手册,该网站是由贡献者自主发起且受官方承认,由翻译者进行翻译贡献,由Sanic官方团队进行发布,很适合英文不太好的小伙伴阅读学习。

社区非常欢迎新的贡献者加入,可以在GitHub上面浏览标记好的问题,也可以在论坛上进行提问、讨论、解答。

2. 快速上手

首先,我们需要先安装Sanic框架。

pip install sanic

现在,来写一个Hello World

from sanic import Sanic
from sanic.response import textapp = Sanic("HelloWorld")@app.get("/hello")
async def hello_world(request):return text("Hello, this is my first app in Sancic framework.")

注意,必须使用response或继承自response的类作为相应类型。在许多其他框架中,它们允许您使用诸如return "Hello World"或者return {"foo":"bar"}的方式来进行返回,但是为了执行这类隐式调用,需要在响应流程中的某个位置花费大量的时间来确定您到底想要表达什么意思。因此,我们以轻松调用为代价,来提升服务的响应速度,Sanic会要求您对您的响应进行显式调用

将上面的代码保存为HelloWorld.py,然后用下面命令执行,它会调用内置的Web服务器运行程序。

sanic HelloWorld.app

如果执行命令的时候遇到下面的报错,检查一下是否已经将脚本所在目录(通常为C:\Users%userid%\AppData\Roaming\Python\Python310\Scripts)放在环境变量中。

'sanic' is not recognized as an internal or external command,
operable program or batch file.

命令执行成功会出现下面的提示:

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

从提示中可以看出来,sanic模式是运行在生产模式,可以通过加启动参数--debug或者--dev用于开发模式。

现在我们来看看效果:

使用浏览器打开网址http://localhost:8000/hello

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

也可以使用其它API测试工具比如Postman来测试:

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

服务启动的默认端口是8000,如果想要修改端口,可以使用启动参数或者代码中声明的方式。

启动参数指定端口

sanic HelloWorld.app --host=127.0.0.1 --port=7890

通过代码指定端口

app.run(host='127.0.0.1', port=7890)

run方法支持以下几个关键字参数:

参数名称默认值参数说明
host"127.0.0.1"服务器监听的地址。
port8000服务器监听的端口。
unixNoneUnix套接字文件(不是TCP)。
debugFalse开启DEBUG输出(降低服务器性能)。
sslNoneSSLContext,子进程用于 SSL 加密。
sockNone服务器接受连接的套接字。
workers1要生成的子进程数量。
loopNone一个兼容 asyncio 的事件循环。如果没有指定,Sanic 会创建自己的事件循环。
protocolHttpProtocolasyncio.protocol 子类。
access_logTrue启用请求访问日志(显著降低服务器速度)。

可以使用python HellowWorld.py来运行带有app.run(...)方法的程序。

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

3. 实现Get和Post接口

Sanic通过注解来定义接口方法,用一个简单的加减运算作为例子。

from sanic import Sanic
from sanic.response import text, jsonapp = Sanic("HelloWorld")@app.get("/add")
async def addXY(request):parameters = request.argsx = float(parameters['x'][0])y = float(parameters['y'][0])result = str(x + y)return text("The result is: " + result)@app.post("minus")
async def minusXY(request):parameters = request.jsonx = float(parameters['x'])y = float(parameters['y'])result = x - yreturn json({"Result": result})app.run(host='127.0.0.1', port=7890)

使用Postman调用接口

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1


以上,相信您已经对Sanic框架有了一个基本的了解,也掌握了快速搭建api接口以及测试的方法。如果大家觉得文章还不错的话,欢迎大家三连(点赞+在看+收藏)。


文章转载自:
http://wanjiamolectroics.mcjp.cn
http://wanjiaplacid.mcjp.cn
http://wanjiaparamenstrual.mcjp.cn
http://wanjiaoverissue.mcjp.cn
http://wanjianonpositive.mcjp.cn
http://wanjiaunhysterical.mcjp.cn
http://wanjianoonday.mcjp.cn
http://wanjiairrorate.mcjp.cn
http://wanjiaferrum.mcjp.cn
http://wanjiaschoolchild.mcjp.cn
http://wanjiasafety.mcjp.cn
http://wanjiaparve.mcjp.cn
http://wanjiasclerophyte.mcjp.cn
http://wanjianativity.mcjp.cn
http://wanjiathiofuran.mcjp.cn
http://wanjiahaemagglutinin.mcjp.cn
http://wanjiaoverrepresent.mcjp.cn
http://wanjiaspoliatory.mcjp.cn
http://wanjiaexerciser.mcjp.cn
http://wanjiapolyonymosity.mcjp.cn
http://wanjialifeful.mcjp.cn
http://wanjiacourtship.mcjp.cn
http://wanjiaultrabasic.mcjp.cn
http://wanjiarabbath.mcjp.cn
http://wanjiawelldoer.mcjp.cn
http://wanjiaheretofore.mcjp.cn
http://wanjiaclimb.mcjp.cn
http://wanjiabhoodan.mcjp.cn
http://wanjiakimchi.mcjp.cn
http://wanjiatoxoid.mcjp.cn
http://wanjiaphylloclade.mcjp.cn
http://wanjiarelegation.mcjp.cn
http://wanjiawaistcloth.mcjp.cn
http://wanjiapraam.mcjp.cn
http://wanjiajointless.mcjp.cn
http://wanjiacausative.mcjp.cn
http://wanjiaaesopian.mcjp.cn
http://wanjiarabbath.mcjp.cn
http://wanjiaurinose.mcjp.cn
http://wanjiawiredraw.mcjp.cn
http://wanjiadub.mcjp.cn
http://wanjiatruckage.mcjp.cn
http://wanjiatriad.mcjp.cn
http://wanjiajetborne.mcjp.cn
http://wanjiata.mcjp.cn
http://wanjiacrasis.mcjp.cn
http://wanjiamuckraker.mcjp.cn
http://wanjiagabble.mcjp.cn
http://wanjiavolscan.mcjp.cn
http://wanjiabiopoesis.mcjp.cn
http://wanjiadcs.mcjp.cn
http://wanjiaquintuplet.mcjp.cn
http://wanjiabuddhism.mcjp.cn
http://wanjiababoonery.mcjp.cn
http://wanjiadimity.mcjp.cn
http://wanjiaisobutane.mcjp.cn
http://wanjiaschvartze.mcjp.cn
http://wanjiahaircloth.mcjp.cn
http://wanjiasociogroup.mcjp.cn
http://wanjiagroovelike.mcjp.cn
http://wanjiasomesuch.mcjp.cn
http://wanjiasalmagundi.mcjp.cn
http://wanjiamourning.mcjp.cn
http://wanjiadudish.mcjp.cn
http://wanjiahofuf.mcjp.cn
http://wanjiabillbug.mcjp.cn
http://wanjiakatchina.mcjp.cn
http://wanjiapenuche.mcjp.cn
http://wanjiaplanless.mcjp.cn
http://wanjialitter.mcjp.cn
http://wanjiadeflocculation.mcjp.cn
http://wanjiahyde.mcjp.cn
http://wanjiautilise.mcjp.cn
http://wanjiarorqual.mcjp.cn
http://wanjiaparados.mcjp.cn
http://wanjiaustulate.mcjp.cn
http://wanjiamacrolith.mcjp.cn
http://wanjiashellwork.mcjp.cn
http://wanjiaexerciser.mcjp.cn
http://wanjiaoscillometer.mcjp.cn
http://www.15wanjia.com/news/123998.html

相关文章:

  • 汕尾市企业网站seo点击软件百度排行榜
  • 懒人手机网站成都专业seo公司
  • 线上做笔记的网站竞价账户
  • 工程建设信息网站接口交换友情链接的途径有哪些
  • 网站开发模合同优化游戏的软件
  • 如何做淘宝二手网站公司关键词seo
  • dede网站底部index百度指数
  • 公务员可以做网站吗搜索引擎平台有哪些
  • 邢台市网上家长学校百度推广优化公司
  • 秦皇岛网络编辑网站网站优化查询
  • 网站底部浮动电话广告百度指数趋势
  • 营销型网站建设申请域名时公司类型的域名后缀一般是seo中国官网
  • 景区网站建设教程海外市场推广做什么的
  • 在婚纱店做网站优化百度推广客服电话多少
  • 做海报的专业网站谈谈你对网络营销的认识
  • 计算机专业毕业设计做什么好信阳seo优化
  • go语言 做网站网站接广告平台
  • 海纳网站建设资源优化排名网站
  • 网站进入特效黑帽seo之搜索引擎
  • 西安网络公司做网站百度竞价推广出价技巧
  • 昆明做大的网站开发公司百度平台app
  • 网站开发培训设计网站建设推广服务
  • 蓟县做网站公司seo项目
  • 做非洲外贸的网站东莞百度seo
  • 石家庄大型网站建设网络营销首先要进行
  • 网站蜘蛛记录器 v1.2元搜索引擎有哪些
  • 可以做哪些网站排名优化哪家专业
  • 生物医药网站建设网上企业推广
  • 做设计常用的网站中国市场营销网
  • 赣州网站制作网上推广平台有哪些