Files
FastapiAdmin/backend/README.md
T
zhangtao 91b5383d0f 1、文档说明优化
2、部署文件修改
2024-12-13 11:52:10 +08:00

3.0 KiB

后端介绍

该项目是一个基于python的web服务框架,基于fastapi和sqlalchemy实现,支持多版本接口,支持swagger文档,支持redis缓存,支持mysql数据库,支持mongodb数据库,支持celery任务队列,支持jwt认证,支持日志记录,支持插件扩展,支持多环境配置,支持uvicorn部署,支持gunicorn部署,支持docker部署,支持nginx部署。

用户 (User)

一个用户可以属于多个角色。 一个用户可以属于多个部门。 一个用户可以担任多个岗位。 角色 (Role)

一个角色可以分配给多个用户。 一个角色可以拥有多个菜单权限。 菜单 (Menu)

一个菜单可以被多个角色拥有。 菜单之间存在层级关系(树形结构)。 部门 (Department)

一个部门可以有多个用户。 部门之间存在层级关系(树形结构)。 岗位 (Position)

一个岗位可以有多个用户。 一个岗位可以属于一个部门。

项目结构

初始化 Alembic alembic init alembic

生成初始迁移脚本: alembic revision --autogenerate -m "initial migration"

应用迁移: alembic upgrade head

fastapi_project/backend
├─ app                     # 项目核心代码 
│  ├─ api                  # 接口模块  
│  │  └─ v1                # 接口版本模块
│  │     ├─ controllers    # 控制器模块
│  │     ├─ crud           # 数据库操作模块
│  │     ├─ models         # orm模型模块
│  │     ├─ params         # 参数模块
│  │     ├─ schemas        # pydantic模型模块
│  │     ├─ services       # 业务模块
│  │     └─ urls           # 路由模块
│  ├─ common               # 公共模块
│  ├─ config               # 项目配置文件
│  ├─ core                 # 项目核心模块
│  ├─ plugin               # 项目插件模块
│  ├─ scripts              # 项目初始化模块
│  └─ utils                # 工具模块
├─ logs                    # 项目日志文件
├─ static                  # 项目静态文件
├─ templates               # 项目模板文件
├─ main.py                 # 项目启动文件
├─ gunicorn.py             # gunicorn配置文件
├─ requirements.txt        # 项目依赖文件
├─ dev_sql.db              # 项目数据库文件
└─ README.md               # 项目说明文档

项目安装

  • 1、克隆项目

    git clone https://gitee.com/tao__tao/my_demo_project.git

  • 2、切换到项目目录

    cd my_demo_project/fastapi_project/backend

  • 3、虚拟环境安装

    python -m venv venv

  • 4、虚拟环境激活

    source venv/bin/activate

  • 5、安装依赖

    pip install -r requirements.txt

项目启动

# 方式一:
python main.py init   # 初始化数据
python main.py run    # 启动服务
# 方式二:
uvicorn main:create_app --host 0.0.0.0 --port 8000 --factory --workers 4
# 方式三:
gunicorn -c gunicorn.py main:create_app