python flask学生管理系统

预览

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前端

jquery
css
html
bootstrap: 4.x

后端

python: 3.6.x
flask: 2.0.x

数据库

mysql: 5.7

学生管理模块

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

教师模块

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

管理员模块

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

目录结构

├─ 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,输入命令:

pip install virtualenv

安装新的虚拟环境:

mkdir project    新建project文件夹
cd project    进入project文件夹
virtualenv venv    安装环境

激活环境:

venv\scripts\activate

查看第三方包:

pip list

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

pip install -r requirement.txt

修改配置

新建数据库

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

修改项目配置

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

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

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

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

数据库迁移

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

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

运行

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

py main.py

登录

学生
账号:20231001
密码:123
教师
账号:30000001
密码:123456
管理员
账号:12345678
密码:admin

更多源码获取查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/245887.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle Linux 9.3 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任,图解仅供参考,请悉知!本次安装图解是在一个全新的演示环境下进行的,演示环境中没有任何有价值的数据,但这并不代表摆在你面前的环境也是如此。生产环境…

【模拟算法系列】详解5道题

本文讲解模拟算法系列的5道经典题,在讲解题目的同时提供AC代码,点击题目即可打开对应OJ链接 目录 模拟算法的介绍 1、替换所有的问号 2、提莫攻击 3、 Z 字形变换 4、外观数列 5、数青蛙 模拟算法的介绍 题目中明确告诉你要干什么,思路…

软件测试练手项目,可以写进简历里面的项目实战

最近收到许多自学自动化测试的小伙伴私信,学习了理论知识后,却没有合适的练手项目。 测试本身是一个技术岗位,如果只知道理论,没有实战经验,在面试中很难说服面试官,比如什么场景下需要添加显示等待&#x…

苹果Find My市场需求火爆,伦茨科技ST17H6x芯片助力客户量产

苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…

java SSM自助快递服务平台myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM自助快递服务平台是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

《游戏-03_3D-开发》之—新输入系统人物移动攻击连击

本次修改unity的新输入输出系统。本次修改unity需要重启,请先保存项目, 点击加号起名为MyCtrl, 点击加号设置为一轴的, 继续设置W键, 保存 生成自动脚本, 修改MyPlayer代码: using UnityEngine;…

Web04--Flex布局

1、flex布局 1.1 flex认识 1.2 flex组成 1.3 flex布局 1.3.1 主轴对齐方式 <!DOCTYPE html> <html lang"CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

基于密码技术的身份认证——基于对称密码体制的身份认证

一、符号说明&#xff1a; A→B&#xff1a;表示通信实体A向通信实体B发送消息&#xff1b; Ek(x)&#xff1a;表示用认证双方共享的密钥K对x进行加密&#xff1b; Text1&#xff0c;Text2&#xff0c;……&#xff0c;Text n属于可选项&#xff1b; ||&#xff1a;表示比特…

正确看待华为鸿蒙……是盲目跟风吗?

先要了解纯血鸿蒙是什么&#xff1f;与之前的套壳Android版本区别在哪&#xff1f;了解这核心东西之后才会真正的看出“纯血鸿蒙”的未来与发展。 纯血鸿蒙全栈自研 HarmonyOS NEXT系统底座全线自研&#xff0c;去掉了传统的Linux内核以及AOSP等代码&#xff0c;仅支持鸿蒙内…

vulnhub靶场之Five86-1

由于这些文章都是从我的hexo博客上面复制下来的&#xff0c;所以有的图片可能不是很完整&#xff0c;但是不受影响&#xff0c;如果有疑问&#xff0c;可以在评论区留言&#xff0c;我看到之后会回复。 一.环境搭建 1.靶场描述 Five86-1 is another purposely built vulnerab…

Linux文本编辑器-vi/vim

一.vi/vim编辑器介绍 vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器 同图形化界面中的 文本编辑器一样&#xff0c;vi是命令行下对文本文件进行编辑的绝佳选择。 vim 是 vi 的加强版本&#xff0c;兼容 vi 的所有指令&#xff0c;不仅能编辑文本&#xff0c;而…

【操作系统】实验九 写一个设备驱动程序

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

OpenAI ChatGPT-4开发笔记2024-07:Embedding之Text Similarity文本相似度

语义相似性semantic similarity 背景结果 背景 OpenAI has made waves online with its innovative embedding and transcription models, leading to breakthroughs in NLP and speech recognition. These models enhance accuracy, efficiency, and flexibility while speed…

蓝桥杯备战——4.继电器/蜂鸣器

1.分析原理图 最好自己先去查查138以及ULN2003的使用方法&#xff0c;我这里直接讲思路。 由上图我们可以看到如果138输入ABC101,则输出Y50,此时若WR通过跳线帽接地则Y5C1 &#xff0c;于是573(U9)处于输出跟随输入P0状态&#xff0c;此时若P061&#xff0c;则573输出Q71&am…

Confluence 的文章导入到 YouTrack KB 中

YouTrack 是有一个 KB 的&#xff0c;我们可以吧 Confluence 的文章全部导入到 YouTrack 的 KB 中。 首先&#xff0c;你需要具有管理员权限&#xff0c;然后选择导入。 然后可以在打开的界面中新增一个导入。 在新增导入中输入 Confluence 在随后的界面中输入你 Confluence …

顶顶通呼叫中心中间件机器人压力测试配置(mod_cti基于FreeSWITCH)

介绍 顶顶通呼叫中心中间件机器人压力测试(mod_cit基于FreeSWITCH) 一、配置acl.conf 打开ccadmin-》点击配置文件-》点击acl.conf-》我这里是已经配置好了的&#xff0c;这里的192.168.31.145是我自己的内网IP&#xff0c;你们还需要自行修改 二、配置线路 打开ccadmin-&g…

【Linux install】详细的Ubuntu和win双系统安装指南

文章目录 1.前期准备1.1 制作启动盘1.2关闭快速启动、安全启动、bitlocker1.2.1 原因1.2.2 进入BIOSshell命令行进入BIOSwindows设置中高级启动在开机时狂按某个键进入BIOS 1.2.3 关闭Fast boot和Secure boot 1.3 划分磁盘空间1.3.1 查看目前的虚拟内存大小 2.开始安装2.1 使用…

在线教育系统开发:构建现代化学习平台

随着科技的迅速发展&#xff0c;在线教育系统在教育领域扮演着越来越重要的角色。本文将深入探讨在线教育系统的开发过程&#xff0c;涉及关键技术和代码实现。 技术选型 在开始开发之前&#xff0c;我们首先需要选择适合在线教育系统的技术栈。以下是一些常见的技术选项&am…

[Vulnhub靶机] DC-1

[Vulnhub靶机] DC-1靶机渗透思路及方法&#xff08;个人分享&#xff09; 靶机下载地址&#xff1a; https://download.vulnhub.com/dc/DC-1.zip 靶机地址&#xff1a;192.168.67.28 攻击机地址&#xff1a;192.168.67.3 一、信息收集 1.使用 arp-scan 命令扫描网段内存活的…

QSqlQuery 执行Update 判断执行成功与否

1.执行更新操作的SQL语句 update s_info set name"009" where contact_number "13511112222" 怎么样判断是否确实更新操作是执行成功的 &#xff0c;可以通过下列语句判断 query.numRowsAffected() > 0 2.主要的几步操作如下: QSqlQuery query;query.…