一、项目框架

FastAPI学习笔记(一)-4.项目框架_ico

 

 

/run.py是入口文件。


FastAPI学习笔记(一)-4.项目框架_python_02FastAPI学习笔记(一)-4.项目框架_主文件_03


1 import uvicorn
2 from fastapi import FastAPI
3
4 app = FastAPI()
5
6 # 启动命令: uvicorn run:app --reload
7 if __name__ == '__main__':
8 uvicorn.run('run:app', host='0.0.0.0', port=8000, reload=True, debug=True, workers=2)

View Code

通过代码启动app服务。

FastAPI学习笔记(一)-4.项目框架_javascript_04

 

 

/tutorial/chapter03.py文件是每一章节的主文件


FastAPI学习笔记(一)-4.项目框架_python_02FastAPI学习笔记(一)-4.项目框架_主文件_03


1 '''
2 @author:invoker
3 @project:fastapi202108
4 @file: chapter03.py
5 @contact:invoker2021@126.com
6 @descript:
7 @Date:2021/8/5 21:22
8 @version: Python 3.7.8
9 '''
10
11 from fastapi import APIRouter
12 app03 = APIRouter()
13
14 """
15 第三章 路径参数与数字验证
16 """
17
18 @app03.get('/path/{parameters}')
19 async def path_param01(parameters:str):
20 return {"msg":parameters}

View Code

app03为路由对象

 

/tutorial/__init__.py 是tutorial的打包文件


FastAPI学习笔记(一)-4.项目框架_python_02FastAPI学习笔记(一)-4.项目框架_主文件_03


1 '''
2 @author:invoker
3 @project:fastapi202108
4 @file: __init__.py.py
5 @contact:invoker2021@126.com
6 @descript:
7 @Date:2021/8/5 21:21
8 @version: Python 3.7.8
9 '''
10 from .chapter03 import app03
11 # 将每个章节的app对象打包
12 from .chapter04 import app04

View Code

将.chapter03打包成app03

 

/run.py


FastAPI学习笔记(一)-4.项目框架_python_02FastAPI学习笔记(一)-4.项目框架_主文件_03


1 '''
2 @author:invoker
3 @project:fastapi202108
4 @file: run.py
5 @contact:invoker2021@126.com
6 @descript:
7 @Date:2021/8/5 21:22
8 @version: Python 3.7.8
9 '''
10
11 import uvicorn
12 from fastapi import FastAPI
13 from tutorial import app03,app04
14
15 app = FastAPI()
16 app.include_router(app03,prefix='/chapter03',tags=['第三章 请求参数和验证'])
17 # app.include_router(app04,prefix='/chapter04',tags=['第四章'])
18
19 # 启动命令: uvicorn run:app --reload
20 if __name__ == '__main__':
21 uvicorn.run('run:app', host='0.0.0.0', port=8000, reload=True, debug=True, workers=2)

View Code

导入app03后,在通过include_router来引用路由

运行run.py后

FastAPI学习笔记(一)-4.项目框架_javascript_11