Bootstrap

毕业设计-基于Django的在线考试和判题系统的设计

系统设计

基于Django的在线考试系统,系统主要有用户相关功能、考试相关功能、模拟练习功能、后台管理功能、用户管理相关功能、考试管理相关功能以及题库管理功能组成。从不同用户的角度组织本系统的功能模块设计如下图:

img

系统介绍

用户登录模块

用户打开系统首页,默认会跳转到登录界面,输入账户、密码、滑动验证码后,点击“登录”。页面会跳转到首页考试中心,用户登录模块界面如下图所示:

img

个人信息修改

系统首页界面如下图所示:

img

点击“个人中心”,即可修改用户的姓名、性别和班级信息,个人信息修改界面如下图所示:

img

在线考试功能

进入首页考试中心页面,分页显示该用户所在班级可以参加考试的试卷,如果试卷较多也可以通过关键词搜索试卷。考试中心页面如下图所示:

img

点击“开始做题”,进入答题页面。页面左侧会显示倒计时和题目列表。倒计时的时长是后台考试管理中设置的,题目则是根据考试管理中设置的题目数量,从题库中随机抽取的。页面右侧上方会显示用户的学号、姓名、性别、专业、年级和班级信息,页面中央显示题目信息。答题界面如下图所示:

img

答题完成后,点击“交卷”,系统会根据用户的作答计算成绩,并跳转到查询成绩页面,如下图所示:

img

模拟练习功能

在模拟练习页面,用户可以设置选择题、填空题、判断题和编程题数目及难易程度,系统根据这些信息从题库中随机抽取题目并生成试卷。模拟练习界面如下图所示:

img

点击“生成试卷并开始答题”,进入答题界面,模拟练习的答题界面和考试中心的答题界面完全相同,共用一个模块,结算成绩的功能也相同,不同的是用户可以自定义设置题目的数量和难度等级。除此之外,模拟练习完成后可以查看练习的记录,练习记录详细记录了题目信息、作答信息、正确答案、题目解析等内容。模拟练习答题记录界面如下图所示:

img

编程题在线判题

系统答题页面实现了编程题在线判题,用户根据题目信息和编程区的代码模板作答,随后点击“测试”,系统后台通过题目的测试用例运行用户编写的代码,如果代码正确则输出 pass,否则输出错误信息,编程题答题界面如下:

img

后台管理功能

后台管理功能是通过 Django 的 Xadmin 后台管理系统实现的,界面如下图所示:

img

部分核心代码展示:

后端:

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ExamOnline.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()

前端运行代码:

exam-online

后端代码:GitHub - 520118202/ExamOnline: Python在线考试系统后端-大学毕业设计-基于Django+Django -Rest-Framework

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Customize configuration

See Configuration Reference.

项目前端使用Vue编写,需要前端或者对项目部署运行有什么疑问,可以添加QQ:2651258648

;