FastApi学习

FastApi学习

1.安装

1.1 安装FastApi 模块

pip install fastapi

1.2 ASGI服务器 生产环境可以使用Uvicorn

pip install uvicorn

2.创建一个简单的服务示例

from fastapi import FastAPI

app = FastAPI() # 创建一个 FastAPI实例

@app.get("/") #装饰器
async def main():
    return {"user_id": 2027514529}

@app.get("/kai")
async def main():
    return {"user_id": "kai"}

3.启动服务

3.1 在终端启动

uvicorn main:app --reload

3.2 在程序直接启动

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

4.路由的分发

4.1 目录结构image-20240714124516481

4.2 待分发Router的写法:

需要从fastapi导入APIRouter模块

而后创建一个APIRouter的实例化对象

代码如下:

from fastapi import APIRouter
dy = APIRouter()

@dy.get("/get")
def get():
    return {"return":"抖音"}

4.3 启动程序的写法

from fastapi import FastAPI
import uvicorn
from apps.douyin.main import dy #导入待分发路由的包

app = FastAPI()

# 分发路由 app.include_router()
app.include_router(dy, prefix="/dy", tags=["抖音"]) # 使用FastAPI()的实例化对象app的include_router方法添加路由
if __name__ == '__main__':
    uvicorn.run("main:app", host='127.0.0.1', port=5899, reload=True)

路由分发到这里就结束了!

5. 数据的提交

6. 使用技巧

6.1 静态文件

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

可以使用 StaticFiles从目录中自动提供静态文件。

使用StaticFiles

  • 导入StaticFiles
  • "挂载"(Mount) 一个 StaticFiles() 实例到一个指定路径。
app.mount("/mao", StaticFiles(directory="statics/imgs"), name="staticssss")

语句解释:

  • directory="statics/imgs"表示挂载的路径
  • "/mao"表示访问的路径
  • name="static" 提供了一个能被FastAPI内部使用的名字。
posted @ 2024-07-15 10:12  Van-kai  阅读(26)  评论(0)    收藏  举报