这是一个基于Flask框架开发的院前培训报名系统,用于管理培训课程、用户报名等功能。系统支持普通登录和微信登录,管理员可以发布、编辑和管理课程,用户可以查看和报名课程。
- 后端:Flask、MySQL、JWT认证
- 前端:HTML、JavaScript、CSS
- 数据库:MySQL
- 认证:JWT令牌认证、微信扫码登录
FlaskProject/
├── src/
│ ├── views/ # HTML模板文件
│ │ ├── admin.html # 管理后台首页
│ │ ├── login.html # 登录页面
│ │ ├── my_courses.html # 我的课程页面
│ │ └── user_management.html # 用户管理页面
│ └── router/
│ └── index.js # 前端路由配置
├── uploads/ # 上传文件目录
├── admin.py # 管理后台相关路由
├── app.py # 主应用入口
├── auth.py # 认证相关功能
├── config.py # 配置文件
├── course.py # 课程相关API
├── db_init.py # 数据库初始化
├── login.py # 登录相关路由
├── user.py # 用户相关API
├── wechat_utils.py # 微信相关工具函数
└── wx_login.py # 微信登录相关路由
- 发布、编辑、删除课程
- 管理用户信息
- 查看课程报名情况
- 支持课程图片上传
- 查看课程列表
- 报名/取消报名课程
- 查看我的课程
- 支持微信登录
- Python 3.7+
- MySQL 5.7+
- pip 包管理器
-
克隆项目
git clone <项目地址> cd FlaskProject
-
创建虚拟环境
python -m venv venv
-
激活虚拟环境
- Windows:
venv\Scripts\activate
- Linux/Mac:
source venv/bin/activate
- Windows:
-
安装依赖
pip install flask flask-cors pymysql pyjwt bcrypt cryptography requests
-
配置数据库
修改
config.py文件,配置数据库连接信息:DB_CONFIG = { 'user': 'your_username', 'password': 'your_password', 'host': 'localhost', 'database': 'training_system' }
-
初始化数据库
运行应用时会自动初始化数据库:
python app.py
系统会自动创建数据库表结构并插入默认管理员账户。
-
启动应用
python app.py
应用将在
http://127.0.0.1:5000上运行。
- 管理员账户:
- 邮箱:admin@example.com
- 密码:admin123
POST /api/login- 用户登录GET /api/wx-login- 微信登录GET /admin/login- 管理员登录页面GET /admin/logout- 管理员退出登录
GET /api/courses- 获取课程列表GET /api/courses/<course_id>- 获取单个课程详情POST /api/admin/courses- 管理员创建课程PUT /api/admin/courses/<course_id>- 管理员编辑课程DELETE /api/admin/courses/<course_id>- 管理员删除课程POST /api/courses/<course_id>/register- 用户报名课程DELETE /api/courses/<course_id>/unregister- 用户取消报名
GET /api/admin/users- 管理员获取用户列表GET /api/my-courses- 获取当前用户的课程
要使用微信登录功能,需要在 config.py 文件中配置微信公众号的 app_id 和 app_secret:
WECHAT_CONFIG = {
'app_id': 'your_wechat_app_id',
'app_secret': 'your_wechat_app_secret'
}- 本项目为开发环境配置,生产环境部署时需要进行安全配置
- 上传文件存储在
uploads目录,请确保该目录有写入权限 - 数据库连接信息需要根据实际环境进行配置
- 微信登录功能需要在微信公众平台进行相应配置
MIT License
如有问题,请联系系统管理员。