数据库课程设计
-
安装数据库: 安装MySQL
-
构建表格: 导入
sql文件构建数据库
-
安装依赖:
pip install flask sqlalchemy -
配置文件:
- 打开
config.py - 根据本地数据库端口等信息修改配置文件
- 打开
-
启动进程:
python app.py(Windows)python3 app.py(Linux)
-
安装依赖包:
npm install -
开启调试模式:
npm run dev -
构建前端文件:
npm run build
- nginx
server {
listen 19198;
listen [::]:19198;
# 调试使用此代理
# location / {
# proxy_pass http://localhost:5173/;
# # 设置请求头,以便后端服务能获取到真实的用户信息
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# }
# 生产环境使用此路由
location / {
root "E:\scripts\sqlCourseDesign\sql-course-design\client-side\dist";
index index.html index.htm;
}
# /api/ 开头的请求,代理到后端API服务器
location /api/ {
proxy_pass http://localhost:1145/api/;
# 同样设置请求头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 错误页面配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
本项目使用flask作为用户交互界面。
- 搭建数据库环境
- 创建数据库表结构
- 将数据库表结构形成说明文档
-
配置
flask环境- 配置MySQL数据库连接 (使用
SQLAlchemy),测试接口 - 创建数据模型 (ORM映射)
-
初始化数据库迁移工具 (Flask-Migrate)
- 配置MySQL数据库连接 (使用
-
利用MySQL实现底层api,实现连接和提交操作功能
-
路由与功能实现
功能 院系管理 班级管理 课程管理 学期管理 学期课程管理 学生管理 成绩管理 获取 - 添加 修改 - - 删除 - -
报表与查询
- 成绩单查询
- 学生成绩单
- 班级成绩统计
- 选课查询
- 学生选课
- 课程名单
-
班级平均分排序班级内总分排序
- 成绩单查询
-
通用组件
- 基础布局模板
- 导航栏(菜单:院系/班级/课程/成绩/报表)
- 数据表格组件(支持分页)
- 表单验证组件
-
管理界面
- 院系管理
- 班级管理
- 课程管理
- 学期课程设置
- 学生管理
- 成绩录入
-
报表页面
- 学生成绩单
- 课程成绩统计
- 班级平均分排行榜
- 学生选课情况
- 课程选课名单
- 数据验证
- 院系/班级删除前检查关联数据
- 成绩输入范围验证
- 学号/课程代码唯一性校验
- 错误处理
- 统一404/500错误页面
- 数据库操作异常捕获
- 安全措施
- 表单CSRF保护
- SQL注入防护(使用ORM参数化查询)