cnly1987 大佬有话说 :
我今天是来跟MJJ分享一款WEB框架的。
那就是FastApi.
性能快:高性能,可以和NodeJS和Go相提并论。
快速开发:开发功能速度提高约200%至300%
更少的Bug:
Fewer bugs: 减少40%开发人员容易引发的错误
直观:完美的编辑支持
简单: 易于使用和学习,减少阅读文档的时间。
代码简洁:很大程度上减少代码重复。每个参数可以声明多个功能,减少bug的发生。
标准化:基于并完全兼容API的开发标准:OpenAPI(以前称为Swagger)和JSON Schema。
不提性能,DJANGO+DRF 是我用过的所有web框架 开发最快速的【代码量最少,甚至很多时候不用写代码,RESTFUL API 功能就全出来了】,
【在快速开发这方面】laravel、go-gin、spring boot这些 根本无法比肩。
但是小型项目用django+drf有点臃肿而且,django 说实话效率不是很高,虽然说 django3号称支持异步,但是我还没用到。
FastApi是一个异步高效率的python web框架。
一个简单的例子:
from fastapi import FastApi, Depends, HTTPException, Request
from starlette.templating import Jinja2Templates
import uvicorn
templates = Jinja2Templates(directory="templates")
app = FastApi()
@app.get("/")
async def read_root():
return {"Hello": "World"}
#MVC 渲染模板【jinja2】
@app.get("/render")
async def read_root(request: Request,):
return templates.TemplateResponse("item.html", {"request": request, "id": id})
permissions_list = [‘p1’, ‘p2’]
def permission_requeried(permisson:str =None):
if permission and permission in permissions_list :
return True
else:
raise HTTPException(status_code=400, detail=’权限不足,’)
@app.get("/")
async def read_root(permission:str=Depends(permission_requeried)):
return {"permission": "permission"}
if __name__ == "__main__":
uvicorn.run(app="main:app", host="0.0.0.0", port=8000, reload=True, debug=True)
写完上面的router 他自带API文档,让前端的人一看就明白
https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png
建议MJJ试试,真的很不错额
官网文档:https://fastapi.tiangolo.com/
yrj 大佬有话说 :
上次在群里有个群友也安利过,是不是你?
燕十三丶 大佬有话说 :
开发团队是哪国的鸭:lol
风铃 大佬有话说 :
用python写的网站的都不行
cnly1987 大佬有话说 :
yrj 大佬有话说 : 2020-6-19 00:20
上次在群里有个群友也安利过,是不是你?
不是,我最近用他做项目才安利的。