# py-fast **Repository Path**: lauset/py-fast ## Basic Information - **Project Name**: py-fast - **Description**: Python FastApi Template - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-19 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README # py-fast-temp #### 简单介绍 FastAPI:高性能极简的web框架 [FastAPI文档](https://fastapi.tiangolo.com/) - 快速编码 - 简易、直观 本项目采用 FastAPI + MySQL + MongoDB 完成了最基本的访问与权限认证 * 后端框架: >1. Web框架:FastAPI >2. ORM:SQLAlchemy >3. 验证:JWT #### 开始使用 * 服务器MySQL数据库链接 >1. 修改 `web/config/settings.py` 文件中的 **SQLALCHEMY_DATABASE_URI** 内容 >2. 内容为:mysql+aiomysql://账号:密码@地址:端口/数据库名称 * 安装依赖,确保 python 版本为 `3.9.x` >1. 进入项目的 `web` 目录下 >2. pip install -r requirements.txt >3. 运行 app.py ![success](./desc/mysql-start.png) * 路由 > 在 `web/routes` 目录下定义路由文件并在 `__init__` 中导入路由文件 > 在 `models` 目录下创建数据模型 > 在 `dals` 目录下编写数据库操作 > 在 `utils` 目录下存放工具类 #### 访问方式 * 访问地址 http://127.0.0.1:8088 >1. /ping 返回PONG!表示服务启动成功 >2. /p1/user/login/token 用户登录,返回访问呢token,采用OAuth2.0验证 >3. 日志存放于 `logs/web` 目录下 #### 定时器模块 在 `web/mongo` 目录下,可单独运行 **fast.py** 文件 包含了 mongodb数据库、定时器任务调度、RestFul风格接口 * MongoDB 数据库链接 修改 `jobstores` 中 **mongo** 的数据库链接即可 ```python Schedule = AsyncIOScheduler( jobstores={ 'mongo': MongoDBJobStore(database='数据库名称', collection='ac-schedule', host='mongodb://账号:密码@地址:27017/admin?authSource=认证的数据库', port=27017), # 'default': SQLAlchemyJobStore(url='mongodb://username:password@ip:port/?authSource=dbname') } ) ``` ![success](./desc/mongo-start.png) * 访问地址 http://127.0.0.1:8088 >1. / 返回Pong Pong Pong表示服务启动成功 >2. /jobs/all 查看所有定时任务 >3. 日志存放于 `logs/fast` 目录下