python毕业设计基于django的学生在线考试系统

前言

本文首先实现了学生在线考试管理的发展,随后依照传统的软件开发流程,最先为系统挑选适用的语言和软件开发平台,依据需求分析开展控制模块制作和数据库查询构造设计,依据系统整体功能模块的设计,制作系统的功能模块图、流程表和E-R图。其次进行设计框架,依据设计的框架撰写编码,完成系统的每个功能模块。最终,对基本系统开展了检测,包含软件性能测试、单元测试和性能指标。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

关键字:B/S模式、Python、学生在线考试

一、项目介绍

作为一个学生在线考试系统,数据流量是非常大的,因而,系统的制定需要达到方便使用、实际操作灵便的规定[3]。所以,在设计学生在线考试系统时,应完成下列总体目标:
(1)页面应美观大方友善,查找应便捷方便,数据储存应可以信赖;
(2)全方位呈现全部学生在线考试信息,方便使用者迅速查询全部信息;
(3)方便用户快速搜索学生在线考试信息;
(4)用户可以随意调整自身的基本信息;
(5)完成学生在线考试管理作用;
(6)系统使用方便,便于维护;
(7)系统运作平稳、安全可靠。

二、开发环境

开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————

三、功能介绍

考虑到实际生活中在学生在线考试管理方面的需要以及对该系统认真的分析,将系统按权限进行划分。
管理员登入使用本系统涉到的功能主要有首页、个人中心、用户管理、课程信息管理、试卷管理、试题管理、考试管理等功能。管理员用例如图3-1所示。
在这里插入图片描述

图3-1 管理员用例图
用户登入使用本系统涉到的功能主要有首页、个人中心、课程信息管理、考试管理等功能。用户用例如图3-2所示。
在这里插入图片描述

图3-2 用户用例图

四、核心代码

部分代码:


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)


五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录

1 概 述 5
1.1 研究背景 5
1.2 研究意义 5
1.3 研究内容 5
2 关键技术介绍 7
2.1 PYTHON语言简介 7
2.2 MySql数据库 7
2.3 DJANGO框架 8
2.4 Hadoop介绍 9
2.5 Scrapy介绍 9
2.6 B/S架构 10
3 系统分析 11
3.1 可行性分析 11
3.1.1经济可行性 11
3.1.2技术可行性 11
3.1.3运行可行性 11
3.2系统用例分析 11
3.3流程设计 13
3.3.1程序流程图设计 13
3.3.2添加信息流程图设计 14
3.3.3删除信息流程图设计 15
4 系统的设计 16
4.1 系统总功能模块设计 16
4.2 系统数据库设计 17
4.2.1 数据库系统概要设计 17
4.2.2 E-R模型结构设计 17
4.3数据表设计 19
5 系统的实现 29
5.1系统功能实现 29
5.2后台模块实现 31
5.2.1管理员模块实现 31
5.2.2用户模块实现 36
6系统测试 37
6.1系统测试的目的 37
6.2软件测试过程 37
6.3测试用例 38
结论 40
致谢 41
参考文献 42

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值