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