Flask接口签名sign原理与实例代码浅析
229
2022-09-06
基于Django网站开发之考试模块中篇【IMUSTCTF网站开发】(django考试系统开发)
@[toc]
一,前言
昨天写了基本的数据库设计哈,今天继续来记录一下开发进度。今天主要写了一下积分系统。因为模板没有积分系统,所以用纯JavaScript语言写了一个积分的算法。需求:
这个考试积分控制在10--20左右,毕竟主要还是刷靶场的网站
二,后端
昨天写到传输问题,大体的提了一下,今天来详细的记录一下。
results = cursor_question.fetchall()
到这里,我们把sql里的数据转换为了python对象。
因为js那边需要的是json数据,我们先在python这转换为字典集,然后转换为json对象传值给后端。
{"question_list":json.dumps(question_list)
三,前端
var data={{ question_list| safe }};
先获取到后端传输的数据。
接下来就是一个积分系统了:
3.1,积分逻辑。
$("#submitQuestions").click(function()
上述代码解释:我们找到提交试卷的方法。在这里写一个判断条件。
if(($(".clickQue").length)!=questions.length){ alert("请检查!还有未完成的题目。") };
上述代码块解释:($(".clickQue").length)是获取到的已经选择过的题目数量,questions.lengt是我们现在目的标识的题目总数。如果俩者不相同的话,返回提示框:请检查!还有未完成的题目。
如果俩者相同:
var da_list =[]; var daqian_list =[];
我们先定义俩个列表来分别存储用户选择的答案集和,数据库传来的答案集。
for( var i in checkQues){ da_list[i]=checkQues[i].answer; daqian_list[i]=questions[i].questionAnswer; };
上述代码块解释:我们写一个循环,因为checkQues是现在用户答完题目的对象集,我们循环他,并且用我们自己定义的目标列表来循环获取用户的选择答案集合。
var sum=0;
for(var j=0;j 上述代码块解释:这块比较简单,就是一个简单的判断,如果用户选择的答案列表集和数据库传递的答案集相等的话,总分加1。sum为本次用户答题的最终得分。 checkQues[i].answer =$("#"+id).find("input[name=item]:checked").val(); 上述代码块解释:获取当前考题的选项值。 四,最后
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~