# fastapi-study:开箱即用的异步FastApi模板 **Repository Path**: Ghyan/fastapi-study ## Basic Information - **Project Name**: fastapi-study:开箱即用的异步FastApi模板 - **Description**: 开箱即用的异步FastApi模板,包含:数据库使用sqlalchemy的异步方法、数据库迁移、用户注册、登陆、Token验证等功能 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2023-11-22 - **Last Updated**: 2024-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开箱即用的异步**FastApi**模板 ### 介绍 #### 这是一个开箱即用的异步FastApi项目模板,基于FastApi和SQLAlchemy的异步API项目,集成了常用依赖和配置,方便快速开发。此模板仅供学习交流使用,实际使用应根据需求进行二次开发。 #### 使用此模板编写的项目:https://gitee.com/Ghyan/0207-2024 ## 1、项目结构 ```markdown |----.cache\ # Python编译缓存 | |----v\ | | |----cache\ | | | |----lastfailed |----alembic\ # 数据库迁移目录 | |----versions\ | | |----64ac9a7455db_uuid.py | | |----b88837b0e2ba_uuid.py | |----env.py | |----README | |----script.py.mako |----api\ # Api路由目录 | |----users\ | | |----user.py |----db\ # 数据库目录 | |----__init__.py | |----crud.py # 数据库操作 | |----database.py # 数据库连接 | |----models.py # 数据模型 | |----run.py # 数据库迁移脚本 | |----schema.py # 数据表结构 |----static\ # 静态文件目录 | |----css\ | |----js\ | |----favicon.png |----test\ # 单元测试目录 | |----__init__.py | |----test_users.py |----utils\ # 工具/依赖目录 | |----jwt_token.py # JWT Token生成与解密工具 |----alembic.ini # Alembic配置文件 |----app.py # 应用启动文件 |----main.py # 应用入口文件 |----README.md # 项目说明文档 |----README_en.md # 英文说明文档 |----requirements.txt # 项目依赖清单 ``` ## 2、环境配置 安装依赖 ```python python>=3.10 # 先更新pip版本(一定要更新) pip install --upgrade pip # 安装包 pip install -r requirements.txt # 使用清华源 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 创建数据库(mysql) ```mysql # 在终端中进入mysql mysql -u你的用户名 -p你的密码 例:mysql -uroot -p123456 # 创建数据库 CREATE DATABASE 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 例:CREATE DATABASE fastapi DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ``` 迁移数据库(生成表) ```cmd # 在 db/database.py 文件中修改自己的数据库连接信息 # 在 alembic.ini 文件中修改自己的数据库连接信息(63行) # 然后在终端输入以下命令。"init"这里可以随便写自己的备注 alembic revision --autogenerate -m "init" # 接着输入 alembic upgrade head ``` ## 3、运行 ```python python3 app.py # 默认端口为8000,可在app.py文件中修改 # 使用 API 工具进行测试,例如:Postman、Apifox # 用户注册路由 http://127.0.0.1:8000/user/register # 用户登陆路由 http://127.0.0.1:8000/user/login # 用户更新信息路由 http://127.0.0.1:8000/user/update # 用户注销路由(删除用户) http://127.0.0.1:8000/user/delete # 查询所有用户信息路由 http://127.0.0.1:8000/user/select_all # 验证token路由 http://127.0.0.1:8000/user/token ``` *未完待续......*