Javascript 如何将javscript score变量发布到django中的视图?
我正在使用JavaScript Django开发测验应用程序。我坚持把变量发布到Django(DB)中。我不知道如何将Java脚本的score变量与用户登录到应用程序的名称一起发布。我将分享JavaScript的代码 注意:这里我没有使用views.py来计算用户的分数。我使用JavaScript验证和计算分数 我从中得到了三个问题:Javascript 如何将javscript score变量发布到django中的视图?,javascript,python,django,django-models,django-views,Javascript,Python,Django,Django Models,Django Views,我正在使用JavaScript Django开发测验应用程序。我坚持把变量发布到Django(DB)中。我不知道如何将Java脚本的score变量与用户登录到应用程序的名称一起发布。我将分享JavaScript的代码 注意:这里我没有使用views.py来计算用户的分数。我使用JavaScript验证和计算分数 我从中得到了三个问题: 如何从JavaScript到Django视图获取变量值?请告诉我怎么走 我们可以使用ajax将变量值发布到Django视图中吗 如果该值显示在html模板中。例
- 如何从JavaScript到Django视图获取变量值?请告诉我怎么走
- 我们可以使用ajax将变量值发布到Django视图中吗
- 如果该值显示在html模板中。例如,假设我的分数值存储在JavaScript中的score变量中,并显示在html中。我希望在Django视图中包含该值。那么如何从javascript中获取该值呢? 注意:此处分数未存储在表单中。这是一个单独的变量
刚刚找到关于那个测验的第二个问题。 我从我很久以前做的项目中复制了代码,所以不要因为代码不干净、错误和错误(至少一切正常):)我是用波兰语写的,所以我只翻译了主要信息,而不是问题和答案。我希望你能理解我测试的逻辑,代码可以帮助你
//问答数组
变量数据_数组=[
[“czego służy polecenie Drugipunk w AutoCAD?”、“Umożliwia wskazanieśrodkałuku.”、“Pozwala na narysowaniełuku przechodzącego przez 3 róne punkty.”、“Umożliwia określenie kierunku rysowaniałukułuku.”、“Poprawana 3 róne punkty”、“uku liwia okreélenieékierunku kierunku rysowanałrysowanał,
[“你在精神分裂症中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,“你在精神分裂症患者中扮演什么角色?”,
[“Jak stworzyćnowy blok na bazie wybranych elementów?”、“Rysuj–Figure–blok…”、“Opcje–stworzyć–blok…”、“nowy–blok–Utwórz…”、“Rysuj–blok–Utwórz…”4],
[“czego służy polecenie atrdef?”,“Automatycznie zmienia wartośći atrubutów.,“Ulatwia rysowanie obiekyów.,“Wyświetla okno dialogowe Definiticja atrybutu.,“polecenie Istniej.”,3],
[“Które Rozzzerzenie określa plik Szablunu AutoCAD?”,“DWT”,“DXF”,“DWG”,“CAD”,3],
[“Jaki ciąg znakówodpowiada symboluśrednicy okręguø?”,“%%c”,“%%d”,“%%b”,“%%s”,1],
];
var plus=0;
var时间=0;
var cur_answer=0;
var count\u answer=数据\u数组长度;
函数sec(){
时间++;
document.getElementById('time').innerHTML='Passing time:'+time+'sec';
}
功能检查(num){
如果(num==0){
document.getElementById('option1').style.display='block';
document.getElementById('option2').style.display='block';
document.getElementById('option3').style.display='block';
document.getElementById('option4').style.display='block';
document.getElementById('question').style.display='block';
document.getElementById('option1')。innerHTML=data_数组[cur_answer][1];
document.getElementById('option2')。innerHTML=data_数组[cur_answer][2];
document.getElementById('option3')。innerHTML=data_数组[cur_answer][3];
document.getElementById('option4')。innerHTML=data_数组[cur_answer][4];
document.getElementById('question').innerHTML=data\u数组[cur\u answer][0];
document.getElementById('start').style.display='none';
document.getElementById('end').style.display='inline';
var intervalID=设置间隔(秒,1000);
}否则{
if(num==数据数组[cur\u answer][5]){
plus++;
document.getElementById('result').innerHTML='您的答案是正确的!';
}否则{
document.getElementById('result').innerHTML=“不正确!正确的答案是:”+data\u数组[cur\u answer][data\u数组[cur\u answer][5];
}
cur_answer++;
如果(当前应答<计数应答){
document.getElementById('option1')。innerHTML=data_数组[cur_answer][1];
document.getElementById('option2')。innerHTML=data_数组[cur_answer][2];
document.getElementById('option3')。innerHTML=data_数组[cur_answer][3];
document.getElementById('option4')。innerHTML=data_数组[cur_answer][4];
document.getElementById('question').innerHTML=data\u数组[cur\u answer][0];
}否则{
document.getElementById('time').id='stop';
document.getElementById('option1').style.display='none';
document.getElementById('option2').style.display='none';
document.getElementById('option3').style.display='none';
document.getElementById('option4').style.display='none';
document.getElementById('question').style.display='none';
document.getElementById('end').style.display='inline';
变量百分比=数学四舍五入(加上/计数×100);
var res=‘你是年轻人!’;
如果(百分比>70)res='你是中等水平!';
如果(百分比==100)res='你是资深的!祝贺你!';
document.getElementById('result').innerHTML='Correct answers:'+plus+'在'+count_answer+'('+percent+'%)中,
'+res;
}
}
}
正文{
背景:#fff url(img/bg1.jpg);
颜色:#fff;
字体系列:verdana;
颜色:#444;
}
p{
字号:38px;
字体大小:粗体;
垫顶:2件;
}
#选项1、选项2、选项3、选项4{
显示:无;
边缘底部:10px;
}
.test1{
背景色:#6cb670;
边界:1px;
颜色:白色;
填充:8px 12px;
文本对齐:居中;
文字装饰:无;
字体大小:20px;
右边距:20px;
光标:指针;
}
.test2{
背景色:#088A68;
边界:1px;
颜色:白色;
<div id="result" class="result" style="display:none;"></div>
var resultCont = document.getElementById('result');
if (currentQuestion == totQuestions) {
resultCont.style.display = '';
console.log(score);
if(score == 0 || score < 40)
{
resultCont.innerHTML = 'Your Score: ' + score + '/80'+ 'Fail';
}
else {
resultCont.innerHTML = 'Your Score: ' + score + '/80' + 'Pass';
}
return;
}
class Results(models.Model):
username = models.ForeignKey(User,on_delete= models.CASCADE)
quizname = models.ForeignKey(Quiz, on_delete=models.CASCADE)
score = models.IntegerField()