python智慧校园线上考试在线比赛答题系统平台源码redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: python智慧校园线上考试在线比赛答题系统平台源码redis

在虚拟环境下输入命令“python manage.py runserver”启动项目,然后,访问“http://127.0.0.1:8000”进入网站首页,如图1所示。


3307d775b4fe9fd34123024cff7e2f9.png


注册用户

鼠标悬浮至顶部导航中的“登录”按钮时,单击“密码”登录,弹出登录框,如图2所示。如果没有账号,需要点击登录框中的“注册”按钮进行注册,如图3所示。

b5df835f2e51a0d26db52e7b9f986bc.png


在注册页面中,需要填写真实可用的邮箱,注册成功后,需要进行邮箱验证,如图4所示。单击“发送邮件”按钮,提示发送信息,如图5所示。


3ac7749780034d0b557b18f5e36e0dc.png

查看邮箱,如图6所示。

d2652e42ef6371f0010bebfba41d338.png


由于我们在本地测试,不能直接单击邮箱验证链接,可以手动赋值链接,然后在链接地址前添加“http://127.0.0.1:8000”, 即完成的链接地址为:“http://127.0.0.1:8000/auth/email_notify?email=邮箱地址&sign=53ec094a-4acf-11e9-8b5b-b0d59d3cadab”。然后使用浏览器访问该地址即可完成验证并自动登录,如图7所示。

4f9cadf85f192b41ccfbc871996e16a.pngf55f97ed8075e76329bc2b326c8b3f4.png


注册完用户后,即可参与答题,如选择热门比赛。点击一个比赛,即可进入该比赛信息页,如图8所示。


b76b7750481b386d0c6107ba63e2f8d.png

单击“开始挑战”按钮开始答题,如图9所示。单击“查看排行榜”按钮,即可查看排行榜。


583041f965987a92ca6be33dfaed9fb.png

在答题页面,单击“后退”按钮,返回上一题;单击“前进”按钮,进入下一题;单击“交卷”按钮,显示答题成绩,如图10所示。



d48e14640372e78b1ddf8a2f3d07af6.png

注册机构

机构用户可以参与出题,用户需要先注册结构才能成为机构用户。单击顶部导航中的“成为机构”按钮,进入注册机构页面,如图11所示。在该页面中,邮箱填写用户注册网站时邮箱。

1d7621bdb512874f2cd1cf2c78ff191.png


注册完成后,单击导航栏顶部的“快速出题”按钮,进入出题页面。如图12所示。


1d7621bdb512874f2cd1cf2c78ff191.png

在快速出题页面,需要先来录制题库,然后再配置比赛。单击“开始录制”按钮,如图13所示。创建题库时,需要先下载题库模块,然后根据模板提示,创建自己的Excel题库。然后填写题库名称,选择题库类型,上传Excel文件,最后单击“开始录制”按钮,上传题库。

715461822b1872daaf3a2938a146a80.png


上传完题库以后,开始配置比赛。在快速出题页面,单击“配置比赛”超链接,进入配置比赛页面。配置比赛时,选择题库,填写配置信息。如果需要答题用户在比赛前填写用户信息,则需要勾选“开启录入信息功能”,然后勾选下面的字段,如图14所示。配置完成后,页面跳转到答题页,单击“开始挑战”按钮,弹出一个填写答题用户信息的表单,该表单中的字段就是在配置信息中设定的内容,如图15所示。

faa3be2131e8f72432c058a22249838.png


eab0e3d73c229ad076759c8fd9673f4.png


后台管理员

后台管理员可以通过账号密码登录后台,输入网址“http://127.0.0.1:8000/admin/”,输入如下账号密码即可登录。

账号:mr

密码:mrsoft

登录成功后进入后台主页,如图16所示。在后台主页,管理员可以根据对应菜单执行相应的管理工作。


8d7b6803d8321a224729f81460750d2.png

部分源码如下,其余完整详见下载。


# -*- coding: utf-8 -*-
from django.contrib import admin
from business.models import (AppConfigInfo, BusinessAccountInfo,
                             BusinessAppInfo, UserInfoImage, UserInfoRegex)
from utils.redis.rpageconfig import set_pageconfig, set_form_regex, rem_form_regex
class BusinessAccountInfoAdmin(admin.ModelAdmin):
    """
    商家账户后台
    """
    list_display = ('account_id', 'email', 'company_name', 'company_description', 'company_username', 'company_phone', 'company_location', 'status', 'created_at', 'updated_at')
    list_filter = ('account_id', 'status')
    readonly_fields = ('account_id',)
class BusinessAppInfoAdmin(admin.ModelAdmin):
    """
    App信息后台
    """
    list_display = ('account_id', 'app_id', 'app_name', 'app_description', 'status', 'created_at', 'updated_at')
    list_filter = ('account_id', 'app_id', 'status')
    readonly_fields = ('app_id',)
class AppConfigInfoAdmin(admin.ModelAdmin):
    """
    App具体配置后台
    """
    list_display = ('app_id', 'app_name', 'status', 'created_at', 'updated_at')
    search_fields = ('app_id', 'app_name')
    fieldsets = (
        ('None', {
            'fields': ('app_id', 'app_name',)
        }),
        (u'文案配置', {
            'classes': ('collapse',),
            'fields': (
                'rule_text',
            ),
        }),
        (u'显示信息相关', {
            'classes': ('collapse',),
            'fields': (
                'is_show_userinfo', 'userinfo_fields', 'userinfo_field_names', 'option_fields',)
        }),
    )
    def save_model(self, request, obj, form, change):
        obj.save()
        set_pageconfig(obj.data)
class UserInfoImageAdmin(admin.ModelAdmin):
    """
    用户表单图片配置后台
    """
    list_display = ('uii_name', 'status', 'created_at', 'updated_at')
    def save_model(self, request, obj, form, change):
        obj.save()
class UserInfoRegexAdmin(admin.ModelAdmin):
    """
    用户表单正则表达式配置后台
    """
    list_display = ('field_name', 'regex', 'description', 'status', 'created_at', 'updated_at')
    list_filter = ('field_name',)
    def save_model(self, request, obj, form, change):
        set_form_regex(obj.field_name, obj.data)
        obj.save()
    def delete_model(self, request, obj):
        rem_form_regex(obj.field_name)
        obj.delete()
admin.site.register(BusinessAccountInfo, BusinessAccountInfoAdmin)
admin.site.register(BusinessAppInfo, BusinessAppInfoAdmin)
admin.site.register(AppConfigInfo, AppConfigInfoAdmin)
admin.site.register(UserInfoImage, UserInfoImageAdmin)
admin.site.register(UserInfoRegex, UserInfoRegexAdmin)


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
Python
用python进行视频剪辑源码
这篇文章提供了一个使用Python进行视频剪辑的源码示例,通过结合moviepy和pydub库来实现视频的区间切割和音频合并。
61 2
|
3月前
|
NoSQL Unix 网络安全
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
|
1月前
|
前端开发 数据可视化 API
Python实现智能家居设备的统一控制平台
【10月更文挑战第6天】 Python实现智能家居设备的统一控制平台
59 11
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
90 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
自然语言处理 Java 编译器
为什么要看 Python 源码?它的结构长什么样子?
为什么要看 Python 源码?它的结构长什么样子?
26 2
|
1月前
|
Python
源码解密 Python 的 Event
源码解密 Python 的 Event
40 1
|
2月前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
68 2
|
2月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
54 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
消息中间件 存储 NoSQL
python 使用redis实现支持优先级的消息队列详细说明和代码
python 使用redis实现支持优先级的消息队列详细说明和代码
37 0
|
1月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
70 0