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~
image1024程序开发者社区的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里就技术问题进行交流,还没有加入的小伙伴可以扫描下方“社区物业”二维码,让管理员帮忙拉进群,期待大家的加入。
image//猜你喜欢//