锵锵枪 wrote:
使用FastAPI搭建网站(一):基础配置 ###简介 FastAPI是一个使用python3.6+构建API的Web框架,其基于[Starlette](https://www.starlette.io/) (提供ASGI服务框架) 和[pydantic](https://pydantic-docs.helpmanual.io/) (提供数据验证管理)。虽然目前还是0.X的β版本,但是由于其高效和快速,获得了一大波的关注度。 ![](https://wx3.sinaimg.cn/large/703433begy1ghv06f20qxj20p00dw0wa.jpg) 从名字看,FastAPI天生是为API服务,但是目前大多数web网站还是需要通过服务端模板渲染。作为学习和尝试,第一时间将本站从webpy切换到FastAPI ,参考 https://xxx.21du.cn/item/390 这篇文章,切换后页面的平均响应时间从50ms+ 提升到10ms+ ,确实比较惊艳。 作为API服务器,官方的文档( https://fastapi.tiangolo.com/zh/tutorial/ ) 以及网上各种教程基本介绍的已经非常详细。本文主要介绍通过FastAPI搭建传统MVC网站的遇到的一些问题。 ###安装 >pip install fastapi uvicorn python-multipart Jinja2 aiofiles - aiofiles 提供静态文件支持 - Jinja2 提供模板配置,也可以使用其它模板引擎 - python-multipart 提供表单“解析” - uvicorn 轻量级的高效的异步 Web 服务器框架 如果不确定需要哪些库,也可以一次性全部安装 >pip3 install fastapi[all] ###Hello World ``` #main.py from fastapi import FastAPI #通过 openapi_url=None 关闭默认的接口文档 app = FastAPI(openapi_url=None) @app.get("/") async def root(): return "Hello World" ``` 运行(ubicorn默认端口是8000) >uvicorn main:app --reload --port 8080 使用浏览器访问 http://127.0.0.1:8080/ OK, It's running...
锵锵枪 2020-08-21 15:35:32  2 回复