Python毕业设计基于django的学生公寓宿舍管理系统

文末获取资源,收藏关注不迷路

一、项目介绍

通篇文章的撰写基础是实际的应用需要,然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程,以学生宿舍管理系统的实际应用需要出发,架构系统来改善现学生宿舍管理系统及出入登记平台工作流程繁琐等问题。不仅如此以操作者的角度来说,该系统的架构能够对多媒体课程进行有效的管理。
本系统是利用django框架而设计的一款结合用户的实际情况而设计的平台,利用VUE技术来将可供学生和管理员来使用的所有界面来显示出来,利用Python语言技术来编程实现用户和管理员所执行的各类操作业务逻辑,以MySQL数据库来存取系统的数据。采用B/S模式,使用者容易上手,能够给用户更好的体验。

本课题主要研究开发一个学生宿舍的管理系统,实现学生管理,住宿管理,楼宇管理,宿舍管理,以及宿管管理的作用。系统用户分为普通学生用户,宿管用户和管理员三种角色。
普通用户;学生;:能查看自己的姓名,性别,学号,ID,密码,缴费信息等,或者对自己的信息作出修改。
宿舍管理员用户;宿管;:宿管登录系统后可以进行学生管理,宿管管理楼宇管理,宿舍管理,住宿管理。主要功能描述如下:
1:学生管理:宿管可以查看其所管理宿舍的学生信息,并可以为学生分配宿舍,甚至可以修改学生的住宿信息。
2:宿管管理:宿管可登陆系统对自己的姓名,密码,ID等信息进行增、删、改,查。
3:楼宇管理:宿管可以登录系统查看其所管理的楼宇信息,比如楼宇的位置,名称,ID等信息。同时也可以对自己所管辖的楼宇进行检索。
4:宿舍管理:宿管可以登录系统查看其所管理的宿舍信息,比如宿舍的所属楼宇,宿舍号, ID,所属楼层,最大入住人数,已住人数等信息。同时也可以对自己所管辖的宿舍进行添加或者删除。也可以按要求对自己管辖的宿舍进行检索。
5:住宿管理:宿管可以登录系统查看其所管理的学生宿舍信息,并能对宿舍信息进行增、删、改、查。比如添加住宿学生,调整住宿学生的宿舍信息,为学生退宿等。同时宿管还可以按照学生姓名查看学生的宿舍信息,或者按照宿舍信息查看宿舍中的学生入住信息。
管理员;后台;:管理员的权限是最大的,管理员登录系统后的功能最为全面,实现学生管理,宿管管理,楼宇管理,宿舍管理,住宿管理,系统管理这些功能。其主要功能描述如下:
1:学生管理:管理员不仅可以查看其所管理宿舍的学生信息,并可以为学生分配宿舍,甚至可以修改学生的住宿信息,他拥有最高的权限,可以向数据库添加一个新的学生信息,或者删除一个学生信息。
2:宿管管理:同样,管理员不仅可以对一个宿管的姓名,密码,ID等信息进行增、删、改,查。也可以向数据库中添加一个宿管的信息,或者在数据库中删除一个宿管的信息。
3:楼宇管理: 管理员登录系统查看所有楼宇信息,包括楼宇的位置,名称,ID等信息。同时也可以按楼宇的ID或者位置对楼宇进行检索。同时可以对楼宇信息进行增、删、改、查。
4: 宿舍管理:管理员可以登录系统查看所有楼宇的所有宿舍信息,包括宿舍的所属楼宇,宿舍号, ID,所属楼层,最大入住人数,已住人数等信息。当然可以所有宿舍进行添加或者删除。也可以按要求对宿舍进行检索。或者从数据库中添加或者删除一个宿舍的信息。
5:住宿管理:管理员登录系统可以查看所有学生的宿舍信息,并能对宿舍信息进行增、删、改、查。比如添加住宿学生信息,调整住宿学生的宿舍信息,为学生退宿等。同时管理员还可以按照学生姓名查看学生的宿舍信息,或者按照宿舍信息查看宿舍中的学生入住信息。不过管理员主要对住宿信息进行宏观调控,查看等操作。
6: 系统管理:与学生和宿管登录该系统一样,管理员也能对自己的信息进行查看和修改,此外管理员还能查看当前管理员的数量,以及各个管理员的当前状态;是否可用;。

二、主要使用技术

环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

三、研究内容

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

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

四、核心代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_session(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}

        req_dict = {"id": request.session.get('params').get("id")}
        msg['data'] = users.getbyparams(users, users, req_dict)[0]

        return JsonResponse(msg)


def users_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "退出成功",
            "code": 0
        }

        return JsonResponse(msg)


def users_page(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code,
               "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
        req_dict = request.session.get("req_dict")
        tablename = request.session.get("tablename")
        try:
            __hasMessage__ = users.__hasMessage__
        except:
            __hasMessage__ = None
        if __hasMessage__ and __hasMessage__ != "否":

            if tablename != "users":
                req_dict["userid"] = request.session.get("params").get("id")
        if tablename == "users":
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = users.page(users, users, req_dict)
        else:
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = [],1,0,0,10

        return JsonResponse(msg)


def users_info(request, id_):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        req_dict['role'] = '管理员'
        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_delete(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")

        error = users.deletes(users,
            users,
            req_dict.get("ids")
        )
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

五、文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值