Skip to content

Repository files navigation

Python Backend

一个可直接扩展的 FastAPI 后端项目,包含异步数据库、JWT 鉴权、用户 CRUD、迁移、测试、Docker、日志和 CI。

快速启动(本地 SQLite)

python3.13 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
cp .env.example .env
# 将 .env 中 DATABASE_URL 改为 sqlite+aiosqlite:///./app.db
alembic upgrade head
uvicorn app.main:app --reload

打开:

使用 Docker + PostgreSQL

cp .env.example .env
docker compose up --build

常用命令

make test
make lint
make format
make migration m="add orders"
make migrate

API

  • POST /api/v1/auth/register 注册
  • POST /api/v1/auth/login 登录(OAuth2 form:username 填邮箱)
  • GET /api/v1/users/me 当前用户
  • GET /api/v1/users 用户列表(管理员)
  • PATCH /api/v1/users/{id} 修改用户(本人或管理员)
  • DELETE /api/v1/users/{id} 删除用户(管理员)

首个注册用户会自动成为管理员,方便初始化系统。

目录

app/
├── api/            # HTTP 路由与依赖
├── core/           # 配置、安全、日志
├── db/             # 数据库会话与基类
├── models/         # SQLAlchemy 模型
├── repositories/   # 数据访问
├── schemas/        # 请求/响应 DTO
└── services/       # 业务逻辑

生产部署前务必更换 JWT_SECRET,限制 CORS_ORIGINS,并在反向代理层启用 HTTPS。

About

fastapi+python+mysql+redis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages