Django项目之学生体温填报管理系统

本文介绍了基于Django框架开发的学生体温填报管理系统,包括管理员和学生模块,涉及登录、信息管理、体温记录等功能。系统实现了数据分页、权限控制、异常体温标记及Excel导出,难点在于前后端交互和Django请求处理。
摘要由CSDN通过智能技术生成

Django项目之学生体温填报管理系统

提示:


前言

提示:


提示:以下是本篇文章正文内容,下面案例可供参考

一、项目介绍

1.1 项目内容

基于Django框架搭建学生体温填报管理信息系统,方便学生每天上报个人的体温数据,方便学校管理部门及时了解学生体温情况

1.2 开发环境

①Python 3.9
② pycharm-community-2021.2.1
③ Django 3.2.9

二、项目需求

2.1 管理员模块

2.1.1 登录

①实现管理员的登录功能

2.1.2 基本设置

① 用户管理:对用户信息进行增、删、改、查
② 部门管理:对学校部门信息进行增、删、改、查
③ 班级管理:对班级信息进行增、删、改、查
④ 学生管理:对学生信息进行增、删、改、查,可以将学生信息导出为Excel文件

2.1.3 统计报表

① 全体体温记录:管理员可以查看学生的体温数据;若学生体温大于37.5℃,则在体温记录表中标明为红色,反之,标明为绿色;可以将学生体温数据导出为Excel文件
② 体温异常人员名单:将学生体温大于37.5℃的体温数据显示在‘体温异常人员名单’页面,管理员可以将‘体温异常人员名单’导出为Excel文件

2.2 学生模块

2.2.1 登录

① 实现学生的登录功能

2.2.2 基本设置

① 个人信息:显示登录学生的信息在‘个人信息’页面,登录学生可以对个人信息进行修改

2.2.3 体温管理

① 体温填报:学生每天登录系统填写体温信息
② 历史记录:可以查询、修改所有体温数据

2.3 其他

① 首页:页面右上角显示登录用户的用户名
② 退出登录:用户退出个人管理页面,返回到登录页面
③ 分页:将信息进行分页展示

三、项目数据库设计

3.1 数据库目录结构

在这里插入图片描述

3.2 管理员表 t_admin

在这里插入图片描述

3.3 班级表 t_classes

在这里插入图片描述

3.4 部门表 t_department在这里插入图片描述

3.5 学生表 t_student

在这里插入图片描述

3.6 体温表 t_temperature

在这里插入图片描述

四、项目框架搭建

4.1 项目目录结构

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

4.2 settings文件

4.2.1 配置MySQL数据库连接信息

在这里插入图片描述

在django_learn3\mysite\mysite_init_.py添加
在这里插入图片描述

4.2.2 静态资源配置

在这里插入图片描述

4.2.3 设置语言和时区

在这里插入图片描述

4.2.4 设置静态主页html文件保存目录

在这里插入图片描述

4.3 定义模型models.py

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

4.4 配置URLs 路由

4.4.1 总路由 mysite/urls.py

在这里插入图片描述

4.4.2 子路由 polls.urls.py

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

五、设计实现的难点和亮点

5.1 难点

5.1.1 使用PyCharm社区版搭建Django项目

PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,Pycharm社区版需要进行初始化设置,需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。还要避免使用 Python 或 Django 的内部保留字来命名项目。

5.1.2 前后端交互

5.1.3 Django 处理请求

当一个用户请求Django 站点的一个页面,Django 确定使用根 URLconf 模块。通常,这是 ROOT_URLCONF 设置的值,但如果传入 HttpRequest 对象拥有 urlconf 属性(通过中间件设置),它的值将被用来代替 ROOT_URLCONF 设置。Django 加载该 Python 模块并寻找可用的 urlpatterns 。Django 依次匹配每个URL 模式,在与请求的URL 匹配的第一个模式停下来。一旦有 URL 匹配成功,Djagno 导入并调用相关的视图,这个视图是一个简单的 Python 函数。如果没有 URL 被匹配,或者匹配过程中出现了异常,Django 会调用一个适当的错误处理视图。

5.2 亮点

① 利用前后端交互实现分页功能

② 设置权限,根据不同用户登录系统,跳转到不同页面

③ 根据不同体温数据,前端数据列表体温数据显示不同颜色

④ 通过过滤器检索指定对象

⑤ 可以将学生名单、体温数据信息、体温异常人员名单等导出为Excel文件

六、系统关键截图

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

七、系统关键代码

# 管理员登录
def admin_login(request):
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        if not all([username, password]):
            context = {
   
                'message': '账号或密码不能为空!'
            }
            return render(request, 'login.html', context)
        else:
            checkAdmin = AdminInfo.objects.filter(username=username, password=password)
            if len(checkAdmin):
                # 将用户的信息存放到session中,session在中间件中是默认启用的
                request.session['loginSession'] = {
   
                    'id': checkAdmin[0].id,
                    'username': username,
                    'password': password
                }
                context = {
   
                    'status': username,
                    'message': '已登录',
                    'length': 1
                }
                return render(request, 'admin_index.html', context)
            else:
                context <
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值