python-校园疫情监控系统设计与实现

项目运行

需要先安装Python的相关依赖:django==3.2.8, pymysql,simpleui,django-import-export使用pip install 安装

第一步:创建数据库

第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句

第三步:修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码

第四步:运行命令:python manage.py runserver 8000

第五步:打开浏览器查看http://127.0.0.1:8000

测试账户

账户: 用户名:admin 密码:123
毕设帮助,指导,本源码分享,调试部署(见文末)

系统介绍:

本系统的前台界面使用了最新的HTML5技术,使用DIV+CSS进行布局,使整个前台页面变得更美观,极大的提高了用户的体验,另外本系统无论是使用电脑的浏览器进行访问还是使用移动设备进行访问,都可以保证网站正确的排版。后端的代码技术选择的是PYTHON,PYTHON语言是当下最常用的编程语言之一,可以保证系统的稳定性和流畅性,PYTHON可以灵活的与数据库进行连接。本系统的数据使用的MYSQL数据库,它可以提高查询的速度,增强系统数据存储的稳定性和安全性。

在这里插入图片描述

功能截图:

编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

代码实现:

import time

from django.shortcuts import render

from .models import User
from django.http import JsonResponse, HttpResponseRedirect
from django.core.paginator import Paginator


from utils.common import login_request


def register(request):
    """
    注册账号
    :return:
    """
    try:
        name = request.POST.get('username')
        passwd = request.POST.get('password')
        phone = request.POST.get('phone','123')
        email = request.POST.get('email','1@qq.com')
        role = request.POST.get('role',2)
        user_obj = User.objects.filter(name=name).first()
        if user_obj:
            return JsonResponse({'message': '用户已存在,请直接登录'}, status=403)
        User.objects.create(
            name=name,
            password=passwd,
            phone=phone,
            email=email,
            role_id=role,
            description=''
        )
        response_data = {'msg': '注册成功!'}
        return JsonResponse(response_data)
    except Exception as e:
        print(e)
        return JsonResponse({'message': '注册失败'}, status=401)

@login_request
def password(request):
    username = request.session.get('username','')
    role = int(request.session.get('role',3))
    user_id = request.session.get('user_id',1)
    return render(request, 'modify_password.html', locals())


def get_user(request):
    """
    获取用户列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = User.objects.all()
    else:
        results_obj = User.objects.filter(name__contains=keyword).all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for result in results:
            record = {
                "id": result.id,
                "name": result.name,
                "password": result.password,
                "email": result.email,
                "phone": result.phone,
                "role": result.role.name,
                'create_time': result.create_time.strftime('%Y-%m-%d %H:%m:%S'),
                "desc": result.description,
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)

@login_request
def user(request):
    """
    跳转用户页面
    """
    username = request.session.get('username','')
    role = int(request.session.get('role',3))
    user_id = request.session.get('user_id',1)
    return render(request, 'user.html', locals())


def login_check(request):
    """
    登录校验
    """
    response_data = {}
    name = request.POST.get('username')
    password = request.POST.get('password')
    user_obj = User.objects.filter(name=name, password=password).first()
    if user:
        # 将用户名存入session中
        request.session["username"] = user_obj.name
        request.session["role"] = user_obj.role.id
        request.session["user_id"] = user_obj.id
        response_data['msg'] = '登录成功'
        return JsonResponse(response_data, status=201)
    else:
        return JsonResponse({'message': '用户名或者密码不正确'}, status=401)


def edit_user(request):
    """
    修改用户
    """
    response_data = {}
    user_id = request.POST.get('id')
    username = request.POST.get('username', '')
    phone = request.POST.get('phone', '')
    User.objects.filter(id=user_id).update(
        name=username,
        phone=phone)
    response_data['msg'] = '编辑成功!'
    response_data['error'] = 0
    return JsonResponse(response_data, status=201)


def del_user(request):
    """
    删除用户
    """
    user_id = request.POST.get('id')
    result = User.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def change_password(request):
    """
    修改密码
    """

    user_obj = User.objects.filter(name=request.session["username"]).first()
    password1 = request.POST.get('password2')
    password2 = request.POST.get('password2')
    if password1 != user_obj.password:
        return JsonResponse({"msg": "原密码不正确!"}), 405
    if user_obj.password == request.POST.get('password2'):
        # 修改的密码与原密码重复不予修改
        return JsonResponse({"msg": "修改密码与原密码重复"}), 406
    else:
        # 不重复,予以修改
        User.objects.filter(name=request.session["username"]).update(
            password=password2)
        # 清除session回到login界面
        del request.session['username']
        return JsonResponse({"msg": "success"})

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paterWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值