纯想FastAPI模板介绍

本指南将介绍纯想FastAPI模板的结构和使用方法,这是一个经过精心设计的FastAPI项目模板,集成了最佳实践和常用功能。


1. 项目特性

纯想FastAPI模板具有以下特性:

  • Name
    特性
    Type
    features
    Description

    主要功能特性

主要特性

• 完整的项目结构设计
• JWT认证系统
• SQLAlchemy ORM集成
• Redis缓存支持
• 异步数据库操作
• 完整的用户系统
• Docker容器化支持
• 自动API文档

2. 项目结构

了解项目的目录结构。

  • Name
    结构
    Type
    structure
    Description

    项目目录说明

目录结构

app/
├── alembic/        # 数据库迁移相关文件
├── api/            # API路由层
├── core/           # 核心配置文件
├── crud/           # 数据库CRUD操作
├── models/         # 数据模型定义
├── tool/           # 工具函数
├── __init__.py     
├── backend_pre_start.py  # 后端启动前预检
├── initial_data.py       # 初始数据
├── log_info.py          # 日志配置
└── main.py              # 应用入口

3. 快速开始

如何使用模板开始开发。

  • Name
    开始
    Type
    start
    Description

    快速启动说明

启动项目

# 克隆项目
git clone https://github.com/liseami/chunxiang-fastapi-temp.git
cd chunxiang-fastapi-temp

# 使用docker-compose启动
docker-compose up -d

# 或本地开发模式
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload

4. 本地开发环境配置

详细的本地开发环境搭建步骤。

  • Name
    环境
    Type
    environment
    Description

    开发环境配置说明

环境配置

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
.\venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 使用Poetry安装依赖
poetry install

# 启动PostgreSQL(MacOS)
brew services start postgresql

# PostgreSQL数据库配置
# 进入PostgreSQL命令行
psql postgres

# 创建新用户
CREATE USER myuser WITH PASSWORD 'mypassword';

# 创建新数据库
CREATE DATABASE mydb;

# 将数据库所有权限赋予新用户
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

# 切换到新数据库
\c mydb

# 赋予新用户在新数据库中的所有权限
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO myuser;

# 退出PostgreSQL命令行
\q

5. 数据库迁移

如何使用Alembic进行数据库迁移。

  • Name
    迁移
    Type
    migration
    Description

    数据库迁移操作指南

数据库迁移

# 进入后端容器
docker compose exec backend bash

# 生成迁移版本
alembic revision --autogenerate -m "migration description"

# 应用迁移
alembic upgrade head

6. 环境变量配置

项目所需的环境变量配置说明。

  • Name
    配置
    Type
    config
    Description

    环境变量说明

环境变量(.env)

POSTGRES_SERVER=host.docker.internal
POSTGRES_PORT=5432
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
POSTGRES_DB=app

这篇文章对你有用吗?