fastapi的基础使用(一)

FastAPI是一个现代、高性能的Web框架,专为API开发而设计。相较于Django的全量框架和Flask的微内核,FastAPI以其异步特性实现了接近Go的高性能。它易于学习,允许高效编码,支持Swagger集成,提供生产就绪的特性。安装简单,通过uvicorn作为服务器,具备代码热重载功能,适合开发和调试。在Django和Flask之外,FastAPI为Python开发者提供了新的选择。
摘要由CSDN通过智能技术生成

fastapi故名思义,这一款框架特别适合做后端api的开发。

对于同类竞品有django和flask。

django是一个全量框架,在传统web开发时代,旨在快速交付一个成品。django有功能强大的admin后台管理系统,且内置的用户及权限模块,另外就是内建的orm非常完善。同时传统网站开发的表单,过滤器等,还有自己的模板引擎等。缺点就是django是一个自己闭环的体系,若想突破它的体系,则代价比较大。比如你想引入像mongo这样的nosql就比较费劲。

flask的亮点的微内核,主要是针对django的弱点,可以任意选用自己喜欢的组件来搭配。从社区来看,基本上flask就是对标django做了各种各样的组件,如果用flask搭建一个比较复杂的web应用之后,会发现和django越来越像。——还不如直接使用django省事。

fastapi是前后端后离时代的产物。它官网的slogan是“高性能,易于学习,高效编码,生产可用”。

生产可用不算什么特别,只因它是新框架,所以要强调一下。

重点是高性能,易于学习,高效编码

号称性能可以比肩go,最快的web框架,主要是受益于它是异步框架。

安装:

开发环境的话,pip install fastapi[all]

如果是生产环境,直接pip install fastapi即可,然后再安装uvicorn作用服务器。

pip install uvicorn[standard]

main.py:

from fastapi import FastAPI

app = FastAPI()

@app.get('/')
def index():
    return {'message': 'hello Fastapi!'} 
#这里非常灵活,可以返回dict,也可以是字符串,也可以是一个list。
 uvicorn main:app --reload

在当前目录下执行如上命令:

即可以跑起来了,而且在代码变更时自动加载。

 调试模式——这个更适合我们

from fastapi import FastAPI
import uvicorn

app = FastAPI()
@app.get('/')
def index():
    return {'message': '你好 Fastapi!'}

if __name__ == '__main__':
    uvicorn.run('main:app', host="0.0.0.0", port=8000, reload=True)

这样可以直接从代码启动,并可以打断点和单步操作等。

内置对swagger的良好支持。

直接在url后面加docs或者redoc。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值