3.fastapi项目结构的拆分

  • 项目拆分步骤

    • 创建主运行文件run.py

      from fastapi import FastAPI
      import uvicorn
      
      app = FastAPI()
      
      #uvicorn helloworld :app --reload   在命令窗口运行(包含主运行文件)
      from tutorial import app01,app02,app03
      # 注册子路由
      app.include_router(app01,prefix='/chapter01',tags=['第一章 请求参数及验证'])  #prefix即需要在主路由加入,实现调用子路由
      app.include_router(app02,prefix='/chapter02',tags=['第二章 响应处理和FastApi配置'])
      app.include_router(app03,prefix='/chapter03',tags=['第三章 FastApi的依赖注入系统'])
      
      if __name__ == '__main__':
          # 配置启动文件,主机,端口,代码更改重新加载,调试模式,进程数量
        uvicorn.run('run:app',host='0.0.0.0',port=8001,reload=True,debug=True,workers=1)
      
    • 新建package包tutorial文件,对项目拆分,多个子文件(子路由)

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Josa5dHf-1636982731062)(3.fastapi%E7%9A%84%E6%8B%86%E5%88%86.assets/image-20210606175920499.png)]

      • 创建一个子文件chapter01.py(其他一样)

        ##chapter01.py
        from fastapi import APIRouter
        app01 = APIRouter()
        
      • 在tutorial的_init_.py中导入刚刚在chapter01.py 创建的app01

        ##导入chapter01.py 中的app01
        from .chapter01 import app01
        
        from .chapter02 import app02
        
        from .chapter03 import app03
        
      • 在主运行文件中注册子路由

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kh157iNh-1636982731064)(3.fastapi%E7%9A%84%E6%8B%86%E5%88%86.assets/image-20210606180832213.png)]

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐