Skip to content

fastapi 项目综合版框架,包含 sqlalchyme(同步/异步) + alembic + aiomysql / pymysql + aioredis / redis + APScheduler + pycasbin

License

Notifications You must be signed in to change notification settings

ZodiacWind/fastapi_sqlalchemy_mysql

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastapi 项目脚手架

声明:此仓库仅做为 FastAPI 入门级参考,对于不同需求,使用者请自由扩展

📢 开箱即用,所有分支持续同步更新

😓 由于分支过多,不易维护, 所以你也可以在同类型分支之间 cv 功能从而自定义demo

异步:

async -> master

fastapi + sqlalchyme + alembic + aiomysql + aioredis

📢: 含 redis 邮箱验证码登录
fastapi + sqlalchyme + alembic + aiomysql + aioredis + APScheduler

📢: 在 master 分支基础上扩展, 加入 APScheduler 定时任务
✨: 删除了邮箱验证码登录, 新增了图片验证码登录
fastapi + sqlalchyme + alembic + aiomysql + aioredis + APScheduler

📢: 在 master 分支基础上扩展,对普通 CRUD 操作进行封装,加入 APScheduler 定时任务
fastapi + sqlalchyme + alembic + aiomysql + aioredis + APScheduler + pycasbin

📢: 在 async-CRUDBase 分支基础上扩展,加入 pycasbin(RBAC) 授权

同步:

sync -> sync

fastapi + sqlalchyme + alembic + pymysql + redis

📢: 含 redis 图片验证码登录
fastapi + sqlalchyme + alembic + pymysql + redis + APScheduler

📢: 在 sync 分支基础上扩展,对普通 CRUD 操作进行封装,加入 APScheduler 定时任务

sync -> sync-Plus

fastapi + sqlalchyme + alembic + pymysql + redis + APScheduler + pycasbin

📢: 在 sync-CRUDBase 分支基础上扩展,加入 pycasbin(RBAC) 授权

下载:

全部分支:
git clone https://gitee.com/wu_cl/fastapi_mysql_demo.git

指定分支:
git clone -b 分支名 https://gitee.com/wu_cl/fastapi_mysql_demo.git

安装使用:

1:传统:

first > 项目根目录下安装所需依赖包

pip install -r requirements.txt

next > 配置数据库,执行迁移

1 > 修改 core/conf.py 文件中数据库配置: # DB

2 > 终端进入 backend/app/ 目录下, 生成迁移文件
    执行: alembic revision --autogenerate

3 > 执行迁移: alembic upgrade head

4 > 运行 init_test_data.py 文件,初始化数据

next > 启动 redis

next > 运行 main.py 文件启动 FastAPI

end > 打开浏览器,访问 http://127.0.0.1:8000/v1/docs/

example:

2:docker

😓待完善

结构树

结构树基本大致相同,详情请查看源代码

├── backend
│   └── app
│       ├── alembic
│       │   ├── env.py
│       │   ├── README
│       │   └── script.py.mako
│       ├── alembic.ini
│       ├── api
│       │   ├── __init__.py
│       │   ├── jwt_security.py
│       │   └── v1
│       │       ├── __init__.py
│       │       ├── test_redis.py
│       │       └── user.py
│       ├── common
│       │   ├── __init__.py
│       │   ├── log.py
│       │   ├── pagination.py
│       │   └── sys_redis.py
│       ├── core
│       │   ├── conf.py
│       │   ├── __init__.py
│       │   └── path_conf.py
│       ├── crud
│       │   ├── __init__.py
│       │   └── user_crud.py
│       ├── datebase
│       │   ├── base_class.py
│       │   ├── db_mysql.py
│       │   └── __init__.py
│       ├── middleware
│       │   ├── access_middle.py
│       │   └── __init__.py
│       ├── model
│       │   ├── __init__.py
│       │   └── user.py
│       ├── schemas
│       │   ├── __init__.py
│       │   ├── sm_token.py
│       │   └── sm_user.py
│       ├── test
│       │   └── __init__.py
│       |── utils
│       |   ├── generate_uuid.py
│       |   ├── __init__.py
│       |   ├── pydantic_as_form.py
│       |   └── send_email_verification_code.py
│       ├── __init__.py
│       ├── init_test_data.py
│       └─ main.py
├── LICENSE
├── README.md
└── requirements.txt

About

fastapi 项目综合版框架,包含 sqlalchyme(同步/异步) + alembic + aiomysql / pymysql + aioredis / redis + APScheduler + pycasbin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.2%
  • Mako 0.8%