python flask学生管理系统

预览





前端

jquery

css

html

bootstrap: 4.x

后端

python: 3.6.x

flask: 2.0.x

数据库

mysql: 5.7

学生管理模块

  • 登录、退出
  • 查看个人信息、修改个人信息
  • 成绩查询
  • 查看已选课程
  • 选课、取消选课
  • 搜索课程
  • 课程列表分页功能

教师模块

  • 登录、退出
  • 查看个人信息、修改个人信息
  • 录入学生成绩
  • 导出学生成绩到excel
  • 查看已开设课程、设置课程容量
  • 添加开设课程、删除已开设课程
  • 搜索学生、搜索课程

管理员模块

  • 登录、退出
  • 删除、添加学生和教师
  • 取消学生已选课程,取消教师已开设课程
  • 修改学生、教师信息
  • 搜索学生和教师
  • 修改学生或教师密码
  • 修改已有学院信息,删除学院,添加学院
  • 修改已有专业信息,删除专业,添加专业
  • 修改已有课程信息,删除课程,添加课程

目录结构

cpp 复制代码
├─ app
│  ├─ forms.py
│  ├─ models.py        后端模型层,用于定义数据库模型和处理模块
│  ├─ static        前端静态文件目录
│  │  ├─ css        css文件
│  │  │  ├─ base.css        初始化样式
│  │  │  ├─ bootstrap-select.css        bootstrap-select插件文件
│  │  │  ├─ bootstrap-select.css.map      bootstrap-select插件文件
│  │  │  ├─ bootstrap.css        bootstrap文件
│  │  │  ├─ bootstrap.css.map      bootstrap文件
│  │  │  └─ style.css        页面样式文件
│  │  ├─ images        图片
│  │  │  └─ logo.webp      logo
│  │  └─ js        javascript文件
│  │     ├─ background.js        页面粒子插件配置
│  │     ├─ bootstrap-select.js        bootstrap-select插件文件
│  │     ├─ bootstrap.bundle.min.js        bootstrap文件
│  │     ├─ bootstrap.min.js      bootstrap文件
│  │     ├─ common.js        公共js
│  │     ├─ jquery.min.js        jquery.js
│  │     ├─ jquery.table2excel.min.js        导出文件插件
│  │     ├─ navbar.js      导航js
│  │     ├─ page.js        分页js
│  │     ├─ particles.js      页面粒子插件
│  │     └─ table.js      页面表单js
│  ├─ templates        前端页面模板
│  │  ├─ 400.html        400页面
│  │  ├─ 404.html        404页面
│  │  ├─ 500.html        500页面
│  │  ├─ add_edit_user.html        
│  │  ├─ add_score.html
│  │  ├─ add_teacher_course.html
│  │  ├─ base.html        
│  │  ├─ choose_course.html
│  │  ├─ course_setup.html
│  │  ├─ edit_password.html
│  │  ├─ index.html
│  │  ├─ isChoosed_course.html
│  │  ├─ login.html
│  │  ├─ managing_college.html
│  │  ├─ managing_course.html
│  │  ├─ managing_major.html
│  │  ├─ managing_users.html
│  │  ├─ personal_information.html
│  │  ├─ revise_info.html
│  │  └─ score_query.html
│  ├─ utils        存放功能函数
│  │  ├─ query.py
│  ├─ web        视图,用于处理http请求、处理modal、返回信息
│  │  ├─ manager.py      
│  │  ├─ student.py      
│  │  ├─ teacher.py      
│  │  ├─ views.py      
│  │  ├─ __init__.py
│  ├─ __init__.py
├─ config.py        配置文件
├─ error.py        错误处理
├─ main.py        入口函数
├─ requirement.txt        项目依赖

数据库设计

安装环境

安装virtualenv

打开cmd,输入命令:

cpp 复制代码
pip install virtualenv

安装新的虚拟环境:

bash 复制代码
mkdir project    新建project文件夹
cd project    进入project文件夹
virtualenv venv    安装环境

激活环境:

bash 复制代码
venv\scripts\activate

查看第三方包:

bash 复制代码
pip list

复制项目到project文件夹下,安装requirements.txt依赖

bash 复制代码
pip install -r requirement.txt

修改配置

新建数据库

打开navicat连接数据库,新建数据库,名称student_management_system或者自己取,字符集为utf8mb4,导入SQL的文件执行或者新建查询复制sql文件的内容到查询并执行

修改项目配置

config.py的配置,配置为自己的:

bash 复制代码
HOST = '127.0.0.1'
PORT = '3306' #端口
DATABASE = 'student_management_system' #数据库名称
USERNAME = 'root'  # 连接用户名称
PASSWORD = '123456' #密码

入口函数main.py修改端口:

bash 复制代码
from app import app

if __name__ == "__main__":
    app.run(host='127.0.0.1', port=1208, debug=True)

数据库迁移

安装完上面的依赖后,执行:

bash 复制代码
#生成迁移文件夹  只执行一次:
flask db init  
#⽣成迁移版本, 保存到迁移文件夹中:
flask db migrate  
#执行迁移:
flask db upgrade 

运行

选择Enter interpreter path载入,本地的虚拟环境路径或者直接选择,VS Code从本地读取到的虚拟环境(刚才安装的venv\scripts\activate)

bash 复制代码
py main.py

登录

学生

账号:20231001

密码:123
教师

账号:30000001

密码:123456
管理员

账号:12345678

密码:admin

更多源码获取查看

相关推荐
微三云 - 廖会灵 (私域系统开发)11 分钟前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
学逆向的36 分钟前
C 数据溢出与精度丢失
c语言·开发语言·网络安全
我命由我1234537 分钟前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
霸道流氓气质1 小时前
AgentFlow 入门与实战:Task-Based 并发、EWMA 动态调度与四道门禁的 Java 生产级编排
java·开发语言
XMXFS1 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans7748829681 小时前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
释厄6232 小时前
错误无误公理——错误正确本同源都迭代定律——逆转有价值
android·开发语言·kotlin
追光者492 小时前
我把 55 篇自动化日志翻了一遍:最容易出事的是这 4 个地方
python·自动化运维
2601_962885722 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI2 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战