Files
aitsc/docs/development/项目结构说明.md

135 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

2025-08-16 20:30:06 +08:00
我来为您输出提示词大师项目的结构说明:
Read file: 项目结构说明.md
2025-02-23 09:07:52 +08:00
# 提示词大师项目结构说明
## 项目目录结构
```
flask_prompt_master/
├── app.py # Flask应用主入口初始化应用和数据库
├── config.py # 应用配置文件包含API密钥、数据库连接等
├── forms.py # WTForms表单定义用于用户输入验证
├── models.py # SQLAlchemy数据模型定义数据库表结构
├── routes.py # Flask路由和视图函数处理HTTP请求
├── static/ # 静态资源目录
│ ├── css/ # CSS样式文件
│ │ └── style.css # 全局样式表
│ └── js/ # JavaScript文件
│ └── main.js # 前端交互逻辑
├── templates/ # Jinja2模板文件目录
│ ├── base.html # 基础模板,包含通用布局
│ ├── index.html # 首页模板,展示主要功能
│ ├── generate.html # 提示词生成页面模板
│ ├── prompt.html # 提示词展示页面模板
│ └── feedback.html # 用户反馈页面模板
├── migrations/ # 数据库迁移管理目录
│ ├── versions/ # 迁移版本历史
│ ├── alembic.ini # Alembic配置文件
│ ├── env.py # 迁移环境配置
│ └── script.py.mako # 迁移脚本模板
├── instance/ # 实例文件夹,存放运行时文件
└── app.db # SQLite数据库文件
```
## 主要模块说明
### 1. 核心模块
- **app.py**
- 初始化Flask应用实例
- 配置数据库连接和迁移
- 注册蓝图和路由
- 启动开发服务器
- **config.py**
- 应用配置管理
- 包含敏感信息API密钥等
- 支持环境变量覆盖
- 调试模式配置
### 2. 数据层
- **models.py**
- 定义数据库模型类
- 使用SQLAlchemy ORM
- 包含以下主要模型:
- User: 用户模型
- Prompt: 提示词模型
- Feedback: 用户反馈模型
- 定义模型关系(一对多、多对多)
- **migrations/**
- 数据库版本控制
- 使用Flask-Migrate和Alembic
- 支持数据库schema变更
- 包含迁移历史记录
### 3. 业务逻辑层
- **routes.py**
- 定义所有视图函数
- 处理HTTP请求
- 调用服务层逻辑
- 返回响应或渲染模板
- 主要功能:
- 用户认证
- 提示词生成
- 反馈收集
- 数据展示
### 4. 表现层
- **templates/**
- 使用Jinja2模板引擎
- 模板继承机制
- 包含以下主要模板:
- base.html: 基础布局
- index.html: 首页
- generate.html: 提示词生成
- prompt.html: 提示词展示
- feedback.html: 用户反馈
- **static/**
- 存放静态资源
- 包含:
- CSS样式文件
- JavaScript脚本
- 图片资源
- 使用Bootstrap框架
- 响应式设计支持
## 开发环境
- Python 3.9+
- Flask 2.0+
- SQLAlchemy 1.4+
- Flask-Migrate 3.1+
- WTForms 3.0+
- Bootstrap 5.0+
## 部署说明
1. 安装依赖:`pip install -r requirements.txt`
2. 初始化数据库:`flask db upgrade`
3. 启动开发服务器:`flask run`
4. 生产环境建议使用:
- Gunicorn作为WSGI服务器
- Nginx作为反向代理
- PostgreSQL作为生产数据库
2025-08-16 20:30:06 +08:00
## 项目特点
### <20><> **核心功能**
- **提示词生成**:基于用户需求智能生成提示词
- **用户管理**:完整的用户注册、登录、权限管理
- **反馈系统**:收集用户使用反馈,持续优化
- **数据展示**:直观展示提示词效果和使用统计
### 🏗️ **技术架构**
- **MVC模式**:清晰的分层架构
- **ORM映射**使用SQLAlchemy进行数据库操作
- **模板引擎**Jinja2提供灵活的页面渲染
- **响应式设计**Bootstrap确保多设备兼容
### <20><> **开发特性**
- **数据库迁移**:支持数据库结构版本控制
- **配置管理**:环境变量支持,便于部署
- **静态资源**CSS/JS文件组织清晰
- **测试支持**:完整的测试框架集成
这个项目结构设计合理遵循了Flask最佳实践便于维护和扩展。