djangoDjango

Django+xadmin打造在线考试系统(五)完结

2019-04-09  本文已影响91人  f5065e26181b

文章同步发于公众号:1024程序开发者社区(cxkfzsq1024)

通过4期的文章已经将在线考试系统的流程介绍完了,本期主要将一下系统部署和相关资源分享,还有就是大家最关心的代码资源了!

公众号中回复“在线考试”获取开源代码链接

/1/系统部署

获取代码后,按以下步骤进行部署:

Python3.5.2

(1)建立虚拟环境
在项目根目录下建立虚拟环境

virtualenv venv --no-site-pakages 

激活虚拟环境

venv\Scripts\activate 

(2)安装第三方库

pip install -r requirements.txt

(3)配置数据库
setting.py

DATABASES = {
        'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',  #数据库名 
        'USER': 'root',          #账号
        'PASSWORD': '',      #密码
        'HOST': '127.0.0.1',    #IP 
        'PORT': '3306',
    }
}

生成数据库

python manage.py makemigrations
python manage.py migrate

(4)创建超级用户

python manage.py createsuperuser 

(5)运行系统

python manage.py runserver 0.0.0.0:8000 

浏览器登陆链接127.0.0.1/8000/login/。

/2/系统公平性设计

作为考试系统,为防止用户利用设计缺陷进行作弊,主要采用两个办法保证公平性。
(1)用户点击“随机选题”时会核对用户是否登录,避免用户直接利用试题页链接进入,获取考试题目。具体代码为:

if request.user.is_authenticated:
else:
 return render(request, "login.html", {"msg": u'为保证考试客观公正,考题不对未登录用户开放'})

作用界面为:


image

(2)用JS关闭试卷页面“后退”功能,一般浏览器都有前进、后退按钮,但是一旦考试开始就不能后退,否则会泄题,因此通过以下代码关闭浏览器的后退功能。代码如下:

<script language="javascript">
    //防止页面后退 history.pushState(null, null, document.URL);
    window.addEventListener('popstate', function () {
        history.pushState(null, null, document.URL);
    });
</script>

/3/资源分享

django学习好的资源:
刘江的博客,http://www.liujiangblog.com/
Zhang_derek的博客,
http://www.cnblogs.com/derek1184405959/p/8590360.html
Navicat软件:
公众号回复“Navicat软件”,获取破解版。
jQuery资源:
http://www.jq22.com网站免费下载

关注公众号,送海量学习资源,一起学django~

image

1024程序开发者社区的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里就技术问题进行交流,还没有加入的小伙伴可以扫描下方“社区物业”二维码,让管理员帮忙拉进群,期待大家的加入。

image

//猜你喜欢//

上一篇下一篇

猜你喜欢

热点阅读