一个功能丰富、易于部署的现代化博客系统,采用前后端分离架构和FastAPI + Django 双后端设计,支持灵活切换后端框架。
# Docker 一键部署(推荐)
git clone https://github.com/Athenavi/fast_blog.git
cd fast_blog
docker-compose up -d
# 访问应用
# 前端:http://localhost:3000
# API 文档:http://localhost:9421/docs (FastAPI) 或 http://localhost:9421/api/docs/ (Django)详细安装指南请查看:快速入门文档
- FastAPI 模式:高性能异步 API 服务,适合微服务和高并发场景
- Django 模式:内置 Admin 后台,快速开发企业级应用
- 灵活切换:通过命令行参数选择 (
python main.py --backend fastapi|django) - 数据兼容:两种模式使用相同数据库,无缝切换
- 单一事实来源:基于
config/routes.yaml声明文件 - 自动生成:同时生成 Django Ninja、FastAPI 和 TypeScript 代码
- 类型安全:前后端统一的类型定义,端到端类型检查
- 高效开发:158 个端点,29 个模块,3 秒内完成生成
- 监听模式:文件变化自动重新生成,支持 pre-commit 钩子
详细文档请查看:路由代码生成器指南
- 文章管理 - Markdown 编辑器、标签分类、全文搜索
- 用户系统 - 完整的注册/登录、权限管理
- 评论系统 - 集成 Giscus 评论
- 媒体管理 - S3 协议支持、自动缩略图
- 安全更新 - 独立进程架构,自动重启和监控
- 📦 依赖说明 - 环境依赖清单
- 后端: FastAPI 0.128.x / Django 6.0 / PostgreSQL 17+
- 前端: Next.js 16 / TypeScript / TailwindCSS
- 部署: Docker / Docker Compose / Nginx
- 版本: V0.0.2.0
scripts/ 目录提供了强大的开发和维护工具:
# 路由代码生成(核心功能)
python scripts/generate_routes.py # 根据 routes.yaml 生成所有代码
python scripts/generate_routes.py --watch # 监听模式,自动重新生成
# 开发工具集
python scripts/dev_tools.py generate-shared-services # 生成共享服务导入
python scripts/dev_tools.py verify-routes # 验证路由一致性
python scripts/dev_tools.py check-all-list # 检查 __all__ 列表
python scripts/dev_tools.py check-imports # 检查导入是否存在
# 数据库初始化
python scripts/init_db.py # 创建数据库和超级管理员
# 发布构建
python scripts/build_release.py --version 1.0.0 # 构建发布包详细文档请查看:Scripts 使用说明
# 1. 添加新 API 端点
# 编辑 config/routes.yaml 添加端点配置
# 2. 生成路由代码
python scripts/generate_routes.py
# 3. 更新共享服务导入
python scripts/dev_tools.py generate-shared-services
# 4. 验证路由一致性
python scripts/dev_tools.py verify-routes
# 5. 实现业务逻辑
# 在对应的模块文件中实现 handler 函数本项目采用 Apache License 2.0 开源协议。