这是django开发学生选课系统的最后一篇了,上一篇结束,我们已经知道如何选课(向数据库里面写数据)。
这一篇需要讲解老师门户的成绩录入,相当于对已经存在score表的具有sno(学号)与cno(课程号)的记录,但是还未有或者已有cscore(成绩)的数据,可以按需进行修改。至于其他页面,基本上都是向数据库里面做查询而已,就不再一一展开叙述了。
需求分析:
1)老师点击按钮之后,可以弹层。
2)弹层后,会自动展示当前已有的分数,可以对其修改。
3)修改的分数,会进行是否在0~100分之间的判断,不在有效范围内会报错。
1、编写弹层JS
与上一篇一样,需要将录入的内容,通过.post函数返回到后端业务逻辑处理。
最大的区别,是onshow处,使用
edit_score_js(cscore,sno,cno) {
d = dialog({
width: ,
title: ,
quickClose: ,
content: +
+
+
+
+
+
+
+
+
,
ok: () {
($().val() <|| $().val() >){
alert()
}{
$.post(,{
:$().val(),
:sno,
:cno,
},(res) {
(res.result){
alert();
}
},)
window.location.reload();
}
},
cancelValue: ,
cancel: () {
console.log()
},
onshow: () {
$().val(cscore)
}
});
d.show();
}
获取了页面里面的成绩,然后在弹层的content里面展示。
2、编写后端业务逻辑
(==)
(request):
username = request.session.get()
data = teacher.objects.filter(=username).values()
data
render_to_response(())
(request):
= request.session.get()
cno = request.POST.get()
sno = request.POST.get()
scored = request.POST.get()
score.objects.filter(=cno=sno).update(=scored)
JsonResponse({:})
3、前端内容与绑定按钮
CSS与JS引用略,然后将按钮onclick绑定函数。
成绩录入课程号课程名学生姓名成绩编辑{% for i in data %}
{{ i.course__cno }}{{ i.course__cname }}{{ i.course__score__sno__sname }}{{ i.course__score__cscore }}{% endfor %}
最终效果:点击修改按钮弹层,并且弹层内会显示当前分数。
输入超过0~100的分数,会报错提示
输入0~100以内分数,修改成功。

