这是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 %}
          

最终效果:点击修改按钮弹层,并且弹层内会显示当前分数。

【实战演练】Python+Django网站开发系列10-django成绩录入页开发_第1张图片

输入超过0~100的分数,会报错提示

【实战演练】Python+Django网站开发系列10-django成绩录入页开发_第2张图片

输入0~100以内分数,修改成功。

【实战演练】Python+Django网站开发系列10-django成绩录入页开发_第3张图片