135 lines
4.2 KiB
Markdown
135 lines
4.2 KiB
Markdown
我来为您输出提示词大师项目的结构说明:
|
||
|
||
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最佳实践,便于维护和扩展。 |