Files
aitsc/项目结构说明.md
2025-08-16 20:30:06 +08:00

135 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
我来为您输出提示词大师项目的结构说明:
Read file: 项目结构说明.md
# 提示词大师项目结构说明
## 项目目录结构
```
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作为生产数据库
## 项目特点
### <20><> **核心功能**
- **提示词生成**:基于用户需求智能生成提示词
- **用户管理**:完整的用户注册、登录、权限管理
- **反馈系统**:收集用户使用反馈,持续优化
- **数据展示**:直观展示提示词效果和使用统计
### 🏗️ **技术架构**
- **MVC模式**:清晰的分层架构
- **ORM映射**使用SQLAlchemy进行数据库操作
- **模板引擎**Jinja2提供灵活的页面渲染
- **响应式设计**Bootstrap确保多设备兼容
### <20><> **开发特性**
- **数据库迁移**:支持数据库结构版本控制
- **配置管理**:环境变量支持,便于部署
- **静态资源**CSS/JS文件组织清晰
- **测试支持**:完整的测试框架集成
这个项目结构设计合理遵循了Flask最佳实践便于维护和扩展。