创建 Flask + Vue.js 全栈项目,采用单端口架构、uv 依赖管理、结构化日志和生产级前端设计。当用户要求以下操作时触发:创建新的 Flask+Vue 项目、搭建 Web 应用、构建全栈 Python+Vue 应用、初始化 Flask Web 项目、设置单端口 Flask 前后端项目。触发词:新建项目、创建项目、搭建项目、Flask项目、Vue项目。
Flask + Vue.js 项目创建器
功能概述
Flask + Vue.js 项目创建器是一项面向实际任务的技能,主要用于搭建 Flask 3.1 + Vue.js 全栈项目,采用单端口架构、结构化日志和独特的前端设计;Web 框架;
核心要点
- Flask 3.1.0;
- Vue.js (CDN, 单端口);
- Python logging (TimedRotatingFileHandler);
使用与执行
80 (统一);单端口架构;所有请求由 Flask 在 80 端口统一处。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
结果检查与注意事项
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Flask + Vue.js 项目创建器
搭建 Flask 3.1 + Vue.js 全栈项目,采用单端口架构、结构化日志和独特的前端设计。
架构概述
| 层级 | 技术选型 |
|---|---|
| Web 框架 | Flask 3.1.0 |
| 前端 | Vue.js (CDN, 单端口) |
| 依赖管理 | uv |
| 日志 | Python logging (TimedRotatingFileHandler) |
| 端口 | 80 (统一) |
单端口架构
所有请求由 Flask 在 80 端口统一处理。静态文件(HTML/CSS/JS)通过 Flask 路由从 templates/ 目录提供。
项目创建工作流
按顺序执行以下步骤:
- 收集需求 - 询问项目名称和简要描述
- 初始化项目结构 - 运行
scripts/init_project.py - 配置依赖 - 使用 uv 设置
pyproject.toml - 创建 Flask 入口 - 生成包含日志的主应用文件
- 设计前端 - 遵循前端设计指南(见下文)
- 更新 AGENTS.md - 任何更改后同步项目文档
- 验证并运行 - 测试项目正常启动
步骤 1:收集需求
向用户询问:
- 项目名称(用于目录、文件名和应用标题)
- 应用功能的简要描述
- 任何特定的设计偏好(配色方案、风格方向)
步骤 2:初始化项目结构
运行初始化脚本:
python scripts/init_project.py--path
这将创建:
/ ├── AGENTS.md # AI Agent 项目指南(自动生成) ├── pyproject.toml # uv 项目配置 ├── uv.lock # uv 锁定文件(自动生成) ├── src/ │ ├── .py # Flask 主入口(含日志) │ ├── templates/ # 前端资源 │ │ ├── .html # 主页面 (Vue.js) │ │ ├── css/ # 样式文件 │ │ ├── js/ # JavaScript 文件 │ │ └── assets/ # 静态资源(图片、字体等) │ ├── utils/ # 核心工具模块 │ │ ├── __init__.py │ │ └── logger.py # 日志模块 │ └── log/ # 日志输出目录 │ └── *.log # 按模块分日志文件(按天轮转)
步骤 3:配置依赖
pyproject.toml 自动生成,包含 uv 镜像配置:
[tool.uv] index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
核心依赖:
dependencies = [
"flask>=3.1.0",
]
步骤 4:创建 Flask 入口
生成的 包含集成的日志功能:
from flask import Flask, send_from_directory, send_file
from utils.logger import get_logger
app = Flask(__name__)
logger = get_logger('')
@app.route('/')
def index():
return send_file('templates/.html')
# ... 静态文件路由 ...
if __name__ == '__main__':
logger.info('启动服务器,端口 80...')
app.run(host='0.0.0.0', port=80, debug=True)
步骤 5:设计前端
创建 HTML/CSS/JS 时应用前端设计指南。完整设计系统参见 references/frontend-design.md。
核心原则:
- 反 AI 风格:避免 Inter、Roboto、Arial、紫色渐变、emoji 图标
- 独特字体:使用独特的 Google Fonts 组合(参见 references/frontend-design.md "字体" 部分)
- 有意配色:选择特定场景的配色方案,而非通用渐变
- 仅用 SVG 图标:使用 Heroicons、Lucide 或 Simple Icons — 不用 emoji
- Vue.js CDN 引入:在 HTML 中使用 Vue 3 CDN,Composition API 配合
模式
Vue.js 集成模式:
详细的 Vue.js 最佳实践参见 references/vue-guidelines.md。
步骤 6:更新 AGENTS.md
重要:任何项目修改后,更新 AGENTS.md 以反映变更。
AGENTS.md 文件在项目创建时自动生成,作为 AI Agent 项目指南。必须与实际项目状态保持同步。
何时更新 AGENTS.md:
- 添加新路由或 API 端点
- 添加新工具模块或文件
- 更改项目结构
- 添加新依赖
- 修改日志配置
- 任何架构变更
更新内容:
- 项目结构树(添加/删除文件和目录)
- 架构描述(新路由、模块、功能)
- 开发指南(新约定或模式)
- 更新日志表(添加日期、版本、描述条目)
更新日志格式:
## 更新日志 | 日期 | 版本 | 变更内容 | |------|------|---------| | 2026-06-07 | 0.1.0 | 初始项目创建 | | 2026-06-08 | 0.2.0 | 新增用户认证模块 |
步骤 7:验证并运行
cduv sync uv run python src/ .py
日志模块
概述
- 位置:
src/utils/logger.py - 日志目录:
src/log/ - 格式:
%(asctime)s | %(levelname)-8s | %(name)s | %(message)s - 轮转:按天 (TimedRotatingFileHandler),保留 30 天
- 输出:同时输出到控制台和文件
使用方法
from utils.logger import get_logger
logger = get_logger('module_name')
logger.info('操作成功完成')
logger.warning('发生了意外情况')
logger.error('发生错误: %s', error_detail)
日志文件
每个日志记录器名称创建单独的日志文件:src/log/
文件在午夜轮转,命名模式:
交付前检查清单
交付前验证:
- 项目结构符合指定布局
-
pyproject.toml包含[tool.uv]清华镜像配置 -
pyproject.toml位于项目根目录(与 src 同级) - Flask 路由服务所有静态文件目录
- 日志模块已集成到 Flask 入口
-
src/log/目录存在且包含.gitkeep -
AGENTS.md存在且反映当前项目状态 - HTML 使用 Vue 3 CDN 和 Composition API
- 无 emoji 图标(仅用 SVG)
- 字体独特(非 Inter/Roboto/Arial)
- 配色方案符合场景
- 所有交互元素有
cursor-pointer - 文本对比度达到 4.5:1 最低要求
- 在 375px、768px、1024px、1440px 响应式适配
热门AI工具
相关专题
本专题围绕 Python Flask 框架在微服务与高性能 API 开发中的应用展开,系统讲解路由设计、请求处理优化、异步任务、缓存机制以及服务拆分策略。通过完整项目案例,帮助开发者构建可扩展、高效稳定的后端微服务架构。
672
2026.04.27
本专题围绕 Django REST Framework 展开,深入讲解 API 认证、JWT 鉴权、权限控制、接口安全防护以及防攻击策略设计。通过完整后端案例,帮助开发者构建安全可靠的 Web API 服务体系。
140
2026.06.29
本专题聚焦 Python FastAPI 框架在高性能接口与微服务开发中的应用,讲解异步请求处理、依赖注入机制、路由设计、数据库异步操作以及接口性能优化策略。结合实际项目案例,帮助开发者构建高并发、低延迟的现代化后端服务架构。
219
2026.06.16
聚焦Python在数据分析领域的核心应用,涵盖Pandas、NumPy、Matplotlib等库的使用技巧、真实业务场景案例及性能优化方法。
146
2026.06.04
以 Python 语言特性为基础,讲解经典设计模式的 Pythonic 实现方式,涵盖单例模式(模块级/元类/new)、工厂模式与注册表模式、策略模式(函数作为一等公民替代类继承)、观察者模式(信号与事件系统)、装饰器模式(语言原生支持)、代理模式(getattr 动态代理)、依赖注入(dependency-injector 库)、仓储模式(Repository Pattern)在数据层的应用,同时讲解 Python 项目的分层架构(领
424
2026.05.15
本教程系统讲解 Vue.js 路由管理与状态管理两大核心技能,助你构建健壮的单页应用。路由部分涵盖 Vue Router 4 的安装配置、动态路由参数传递、嵌套路由布局及导航守卫实现登录鉴权,配合路由懒加载优化首屏性能。状态管理部分深入 Pinia 的 Store 定义、Actions 异步处理与 Getters 派生状态,结合 localStorage 实现用户登录态持久化。通过电商后台管理系统的实战案例,你将掌握路由与状态协同工作的
230
2026.05.15
全面讲解 Python 应用的日志管理与监控方案,涵盖 logging 标准库的 Logger/Handler/Formatter/Filter 体系、日志级别规范与分模块配置、dictConfig / fileConfig 声明式配置、loguru 第三方库的简洁用法与结构化输出、日志轮转(RotatingFileHandler/TimedRotatingFileHandler)策略、JSON 格式结构化日志输出、ELK / Loki
186
2026.05.15
全面讲解 Python 中数据库操作的技术方案,涵盖 sqlite3 标准库的轻量数据库操作、PyMySQL / psycopg2 连接 MySQL / PostgreSQL、DB-API 2.0 规范与游标操作、SQL 注入防范与参数化查询、SQLAlchemy Core 表达式语言与 ORM 模型定义/查询/关联关系映射、Alembic 数据库迁移管理、连接池(SQLAlchemy Pool / DBUtils)配置与调优、异步数据
171
2026.05.11
热门下载
相关下载
精品课程
