1970python高校教室管理系统mysql数据库Django框架bootstrap布局计算机软件工程网页


一、源码特点
    python Django 高校教室管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

python Django 高校教室管理系统


    开发环境pycharm
    mysql 5.0 到5.5
    依赖包 Django 2.2.16
        pymysql 0.8.0

二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)学生管理:对学生信息进行添加、删除、修改和查看
(4)教室信息管理:对教室信息信息进行添加、删除、修改和查看
(5)星期管理:对星期信息进行添加、删除、修改和查看
(6)时间段管理:对时间段信息进行添加、删除、修改和查看
(7)课程管理:对课程信息进行添加、删除、修改和查看
(8)上课时间管理:对上课时间信息进行添加、删除、修改和查看、课表查看
(9)签到管理:对签到信息进行添加、删除、修改和查看
(10)教室借用管理:对教室借用信息进行添加、删除、修改和查看、统计
(11)用户登录、退出、个人信息修改

数据库设计

CREATE TABLE `gly` (
`glyid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',  PRIMARY KEY  (`glyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jiaoshi` (
`jsid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`zc` VARCHAR(40) default NULL COMMENT '职称',  PRIMARY KEY  (`jsid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `xuesheng` (
`xsid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`zy` VARCHAR(40) default NULL COMMENT '专业',  PRIMARY KEY  (`xsid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jsxx` (
`jsxxid` int(11) NOT NULL auto_increment,
`jsmc` VARCHAR(40) default NULL COMMENT '教室名称',
`wz` VARCHAR(40) default NULL COMMENT '位置',
`bz` VARCHAR(40) default NULL COMMENT '备注',  PRIMARY KEY  (`jsxxid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `xingqi` (
`xqid` int(11) NOT NULL auto_increment,
`xq` VARCHAR(40) default NULL COMMENT '星期',  PRIMARY KEY  (`xqid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `sjd` (
`sjdid` int(11) NOT NULL auto_increment,
`sjd` VARCHAR(40) default NULL COMMENT '时间段',  PRIMARY KEY  (`sjdid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `kecheng` (
`kcid` int(11) NOT NULL auto_increment,
`kcmc` VARCHAR(40) default NULL COMMENT '课程名称',
`rkjs` VARCHAR(40) default NULL COMMENT '任课教师',
`sm` VARCHAR(40) default NULL COMMENT '说明',  PRIMARY KEY  (`kcid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

代码设计


#添加时间段
def sjdadd(request):
   if request.method == 'GET':
       return render(request, "sjd/sjdadd.html")
   if request.method == 'POST':
        sjd = request.POST.get('sjd') #时间段
        messages.success(request, "操作成功")
        models.sjd.objects.create(sjd=sjd, )
        #return render(request, "sjd/sjdadd.html")
        return redirect('/sjd/sjdadd')

#时间段列表
def sjdlist(request):
    print(request.method)
    global list
    if request.method == 'GET':

        sjd= request.GET.get('sjd')#时间段
        if not sjd:
            sjd = ""
        print(sjd)
        list = models.sjd.objects.filter(sjd__icontains=sjd).all()  # 获取sjd表所有的数据
    return render(request, "sjd/sjdlist.html", {'list': list})
#修改时间段
def sjdmodify(request):
    # 获取要修改的数据的id
    if request.method == 'GET':
        id = request.GET.get('id')
        obj = models.sjd.objects.get(id=id)
        return render(request, 'sjd/sjdmodify.html', {'obj': obj})

    id = request.POST.get('id')
    sjd = request.POST.get('sjd') #时间段
    messages.success(request, "操作成功")
    ret = models.sjd.objects.filter(id=id).update(sjd=sjd, )

    return redirect('/sjd/sjdlist')

# 时间段详情
def sjddetail(request):
    # 获取要修改的数据的id
    id = request.GET.get('id')
    obj = models.sjd.objects.get(id=id)
    return render(request, 'sjd/sjddetail.html', {'obj': obj})

#时间段删除
def sjddelete(request):
    # 获取要删除数据的id
    id = request.GET.get('id')
    # 查询数据库是否存在
    obj = models.sjd.objects.get(id=id)
    if obj:
        # 在数据库中删除
        obj.delete()
        messages.success(request, "操作成功")
        return redirect('/sjd/sjdlist')
    return HttpResponse("删除失败")

#添加课程
def kechengadd(request):
   if request.method == 'GET':
       jslist = models.jiaoshi.objects.all()  # 获取分类表所有的数据
       return render(request, "kecheng/kechengadd.html",{'jslist':jslist})
   if request.method == 'POST':
        kcmc = request.POST.get('kcmc') #课程名称
        rkjs = request.POST.get('rkjs') #任课教师
        sm = request.POST.get('sm') #说明

        res = models.kecheng.objects.filter(kcmc=kcmc).count();
        if res > 0:
            messages.success(request, "操作失败、教室名称重复")
        elif res == 0:
            messages.success(request, "操作成功")
            models.kecheng.objects.create(kcmc=kcmc, rkjs=rkjs, sm=sm, )


        #return render(request, "kecheng/kechengadd.html")
        return redirect('/kecheng/kechengadd')


三、注意事项
    1、管理员账号:admin密码:admin 数据库配置文件app/settings.py  更改数据库配置
    2、开发环境pycharm,数据库为mysql5.0~5.5,使用python语言开发。
    3、数据库文件名是pythonjsgl.sql ,系统名称jsgl
    4、系统首页地址:http://127.0.0.1:8080/login

四系统实现

需要源码 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

勾八头歌网安之标准ACL、扩展ACL

标准ACL vs 扩展ACL 我是分享我的快乐的终于写完啦!!!!我有时间会把步骤写上来的 也不知有人需要吗哈哈哈 vs

深入了解RSA加密算法

目录 前言 一、什么是RSA? 二、RSA加密的基本概念 1.非对称加密 2.密钥生成 3.加密和解密 三、RSA加密的工作原理 四、RSA的应用场景 五、RSA加密解密的实现 六、RSA算法的局限性及改进措施 前言 在当今的数字化时代,信息的安全性成为了人们关注…

VUE3脚手架工具cli配置搭建及创建VUE工程

1、VUE的脚手架工具(CLI) 开发大型vue的时候,不能通过html编写一个大型的项目,这个时候需要用到vue的脚手架工具 通过vue的脚手架,可以快速的生成vue工程 1.1、安装nodejs和npm 【下载nodejs】 https://nodejs.org/en 【安装…

厂里资讯之自媒体文章自动审核

自媒体文章-自动审核 1)自媒体文章自动审核流程 1 自媒体端发布文章后,开始审核文章 2 审核的主要是审核文章的内容(文本内容和图片) 3 借助第三方提供的接口审核文本 4 借助第三方提供的接口审核图片,由于图片存储到minIO中&…

Caffe、PyTorch、Scikit-learn、Spark MLlib 和 TensorFlowOnSpark 概述

在 AI 框架方面,有几种工具可用于图像分类、视觉和语音等任务。有些很受欢迎,如 PyTorch 和 Caffe,而另一些则更受限制。以下是四种流行的 AI 工具的亮点。 Caffee Caffee是贾扬青在加州大学伯克利分校(UC Berkeley)时开发的深度学习框架。该工具可用于图像分类、语音和…

UniVue更新日志:SuperGrid组件的使用

github仓库 稳定版本仓库:https://github.com/Avalon712/UniVue 开发版本仓库:https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库:https://github.com/Avalon712/UniVue-SourceGenerator SuperGrid组件的实现…

docker和docker compose 部署

一. 将微服务运行在docker上: 1.新建一个空文件夹docker-demo,在里面再新建文件夹app,在app目录下新建一个名为Dockerfile的文件。 2.编写Dockerfile文件 3.构建镜像 4.启动镜像 5.可以访问了。 二使用Dockerfile构建微服务镜像 1.将j…

UniVue更新日志:使用ObservableList优化LoopList/LoopGrid组件的使用

github仓库 稳定版本仓库:https://github.com/Avalon712/UniVue 开发版本仓库:https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库:https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 如果大家…

C++ | Leetcode C++题解之第160题相交链表

题目: 题解: class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {if (headA nullptr || headB nullptr) {return nullptr;}ListNode *pA headA, *pB headB;while (pA ! pB) {pA pA nullptr ? headB : p…

Axios进阶

目录 axios实例 axios请求配置 拦截器 请求拦截器 响应拦截器 取消请求 axios不仅仅是简单的用基础请求用法的形式向服务器请求数据,一旦请求的端口与次数变多之后,简单的请求用法会有些许麻烦。所以,axios允许我们进行创建axios实例、ax…

LeetCode | 344.反转字符串

设置头尾两个指针,依靠中间变量temp交换头尾指针所指元素,头指针后移,尾指针前移,直到头尾指针重合或者头指针在尾指针后面一个元素 class Solution(object):def reverseString(self, s):""":type s: List[str]:r…

Gone框架介绍26 - Gone v1.x 版本 正式发布,更加强大的依赖注入,更加卓越的执行效率

gone是可以高效开发Web服务的Golang依赖注入框架 github地址:https://github.com/gone-io/gone 文档地址:https://goner.fun/zh/ 文章目录 优化和新特性gone 核心功能增强内置Goners覆盖测试 后续计划 优化和新特性 gone 核心功能增强 重构了函数参数依…

关于HTTP劫持,该如何理解、防范和应对

一、引言 HTTP劫持(HTTP Hijacking)是一种网络安全威胁,它发生在HTTP通信过程中,攻击者试图通过拦截、篡改或监控用户与服务器之间的数据流量,以达到窃取敏感信息或执行恶意操作的目的。今天我们就来详细了解HTTP劫持…

C语言 | Leetcode C语言题解之第160题相交链表

题目: 题解: struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {if (headA NULL || headB NULL) {return NULL;}struct ListNode *pA headA, *pB headB;while (pA ! pB) {pA pA NULL ? headB : pA->ne…

express+vue在线im实现【二】

expressvue在线im实现【一】 在线体验 本期完成了: 1、心跳检测 2、支持发送表情与图片【这个目前还需要优化下,当图片上传后会被默认选中,需要点击一下旁边,使之失去选中效果,才能正常,留待下期优化吧】…

基于Quartus Prime18.1的安装与FPGA的基础仿真教程

Quartus是一种美国科技公司Intel(英特尔)公司开发的FPGA(现场可编辑门阵列)设计编译软件,用作设计、仿真、综合和布局、支持多种编程语言,包括VHDL、Verilog等,并具有丰富的功能和工具库&#x…

17.Meta AI 大模型家族 LLaMA

Meta LLaMA 1 大模型技术解读 LLaMA 1:小模型大数据 LLaMA 1 在万亿 Token 公开数据集上预训练 LLaMA 1 模型网络架构改进 大模型网络架构差异性配置总览 典型大模型网络架构对比 LLaMA 1 预训练超参数配置 典型大模型训练超参数对比 LLaMA 1 预训练效率提升与成本…

net start mysql服务名无效

问题背景 起因是我的电脑因为停电烧坏了系统固态硬盘,再新装系统后,之前的MySQL服务无法通过下面的命令启动。 net start mysql # 报错:服务名无效 报错:服务名无效 报错信息 未找到:在Windows服务中找不到MySQL 找…

增强大型语言模型(LLM)可访问性:深入探究在单块AMD GPU上通过QLoRA微调Llama 2的过程

Enhancing LLM Accessibility: A Deep Dive into QLoRA Through Fine-tuning Llama 2 on a single AMD GPU — ROCm Blogs 基于之前的博客《使用LoRA微调Llama 2》的内容,我们深入研究了一种称为量化低秩调整(QLoRA)的参数高效微调&#xff0…

【APP_汽修宝】数据采集案例APP_数据解密分析

如果不会写代码,那就出书、写博客、做视频、录播客。 📚 S35赛季末王者昭君罗 关键代码定位 使用方法【逆向-快速定位关键代码】通过hook常用函数HashMap方法 动态分析 下面是我们通过访问目标页面时 Frida hook 捕获HashMap的调…