Beispiel #1
0
def modal_edit_teacher(request):
    ret = {'status': True, 'message': None}
    try:
        name = request.POST.get('name')
        class_id_list = request.POST.getlist('class_id_list')
        t_id = request.POST.get('t_id')
        obj = sqlhelper.SqlHelper()
        obj.modify('update teachers set name=%s where id=%s', [name, t_id])
        obj.modify('delete from relations where t_id=%s', [
            t_id,
        ])
        data_list = []
        for cls_id in class_id_list:
            temp = (
                t_id,
                cls_id,
            )
            data_list.append(temp)
        obj = sqlhelper.SqlHelper()
        obj.multiple_modify('insert into relations(t_id, c_id) values(%s, %s)',
                            data_list)
        obj.close()
    except Exception as e:
        ret['status'] = False
        ret['message'] = "处理失败"
    return HttpResponse(json.dumps(ret))
Beispiel #2
0
def edit_teacher(request):
    if request.method == 'GET':
        nid = request.GET.get('nid')
        sql = 'select id, name from teacher where id=%s'
        obj = sqlhelper.SqlHelper()
        teacher_info = obj.get_one(sql, [
            nid,
        ])
        sql2 = 'select class_id from teacher2class where teacher_id=%s'
        class_id_list = obj.get_list(sql2, [
            nid,
        ])
        sql3 = 'select id, title from class'
        class_list = obj.get_list(sql3, [])
        obj.close()

        temp = []
        for i in class_id_list:
            temp.append(i['class_id'])

        return render(
            request, 'edit_teacher.html', {
                'teacher_info': teacher_info,
                'class_id_list': temp,
                'class_list': class_list,
            })
    else:
        nid = request.GET.get('nid')
        name = request.POST.get('name')
        class_ids = request.POST.getlist('class_ids')

        obj = sqlhelper.SqlHelper()
        # update teacher list
        sql4 = 'update teacher set name=%s where id=%s'
        obj.modify(sql4, [
            name,
            nid,
        ])
        # update teacher2class list, first delete after insert
        sql5 = 'delete from teacher2class where teacher_id=%s'
        obj.modify(sql5, [
            nid,
        ])

        data_list = []
        for cls_id in class_ids:
            temp = (
                nid,
                cls_id,
            )
            data_list.append(temp)
        # map ? lammda
        sql6 = 'insert into teacher2class(teacher_id, class_id) values(%s, %s)'
        obj = sqlhelper.SqlHelper()
        obj.multiple_modify(sql6, data_list)
        obj.close()

        return redirect('/teachers/')
Beispiel #3
0
def edit_teacher(request):
    if request.method == 'GET':
        sql = sqlhelper.SqlHelper()
        teacher_id = request.GET.get("nid")
        teacher = sql.get_list('SELECT * FROM teacher WHERE id =%s LIMIT 1;',
                               [teacher_id])
        class_id = sql.get_list('SELECT * FROM link_t_C WHERE teacher_id =%s;',
                                [
                                    teacher_id,
                                ])
        class_list = sql.get_list('SELECT * FROM class;')
        class_data = []
        for cid in class_id:
            print(cid)
            class_data.append(
                sql.get_list('SELECT * FROM class WHERE id=%s LIMIT 1', [
                    cid[2],
                ]))
        sql.close()
        return render(
            request, 'edit_teacher.html', {
                'teacher_id': teacher_id,
                'teacher_name': teacher[0][1],
                'class_data': class_data,
                'class_list': class_list,
            })
        # 1 [(1, 'tony2')] [[(1, 'class_1')], [(2, 'class_2')]]
    if request.method == 'POST':
        teacher_id = request.GET.get("nid")
        teacher_name = request.POST.get("teacher_name")
        class_selected = request.POST.getlist('class_list')
        if (teacher_name == "" or class_selected == []):
            return redirect('/teacher/')
        print(class_selected)
        sql = sqlhelper.SqlHelper()
        link_id = sql.get_list('SELECT id FROM link_t_C WHERE teacher_id=%s', [
            teacher_id,
        ])
        print(link_id)
        sql.modify('UPDATE teacher SET name=%s WHERE id=%s', [
            teacher_name,
            teacher_id,
        ])
        sql.modify('DELETE FROM link_t_C WHERE teacher_id=%s', [
            teacher_id,
        ])
        num = sql.get_list("SELECT id FROM link_t_C ORDER BY id DESC LIMIT 1")
        if num == []:
            num = 1
        else:
            num = num[0][0] + 1
        for i in class_selected:
            sql.modify(
                'INSERT link_t_C (id,teacher_id,class_id) VALUES (%s,%s,%s)',
                [num, teacher_id, int(i)])
            num = num + 1
        sql.close()
        return redirect('/teacher/')
Beispiel #4
0
def edit_teacher(request):
    if request.method == 'GET':
        nid = request.GET.get('nid')
        obj = sqlhelper.SqlHelper()
        # 当前教师的信息
        teacher_info = obj.get_one('select id,name from teacher where id = %s',
                                   [
                                       nid,
                                   ])
        # 当前教师的任教班级的id信息
        class_id_list = obj.get_list(
            'select class_id from teacher2class where teacher_id=%s', [
                nid,
            ])
        # 所有的班级信息
        class_list = obj.get_list('select id,title from class', [])
        """
        print(teacher_list) # {'id': 2, 'name': '李晓'}
        print(class_list) # [{'id': 1, 'title': '软件工程'}, {'id': 8, 'title': '软件技术'}, {'id': 9, 'title': '计算机科学与技术'}, {'id': 10, 'title': '网络工程'}]
        print(class_id_list) # [{'class_id': 1}, {'class_id': 10}]
        """
        obj.close()
        temp = []
        for item in class_id_list:
            temp.append(item['class_id'])
        """
        print(temp)  # [1, 10]
        """
        return render(
            request, 'edit_teacher.html', {
                'class_list': class_list,
                'teacher_info': teacher_info,
                'class_id_list': temp
            })
    else:
        # 获取post请求的url上的参数
        nid = request.GET.get('nid')
        print(nid)
        name = request.POST.get('name')
        class_ids = request.POST.getlist('class_ids')  # ['1', '8', '9', '10']
        obj = sqlhelper.SqlHelper()
        obj.modify('update teacher set name = %s where id = %s', [name, nid])
        obj.modify('delete from teacher2class where teacher_id = %s', [nid])
        data_list = []  # [('1', '1'), ('1', '8'), ('1', '9'), ('1', '10')]
        """
        for class_id in class_ids:
            temp = (nid, class_id,)
            data_list.append(temp)
        """
        # 使用lambda表达式
        func = lambda nid, class_id: data_list.append((nid, class_id))
        for class_id in class_ids:
            func(nid, class_id)
        obj.multiple_modify(
            'insert into teacher2class(teacher_id,class_id) values (%s,%s)',
            data_list)
        return redirect('/user/teacher/')
Beispiel #5
0
def add_students(request):
    if request.method == 'GET':
        obj = sqlhelper.SqlHelper()
        class_list = obj.get_list("select id,title from class", [])
        obj.close()
        return render(request, 'add_students.html', {'class_list': class_list})
    else:
        s_name = request.POST.get('s_name')
        c_id = request.POST.get('c_id')
        obj = sqlhelper.SqlHelper()
        obj.modify("insert into students(name,cid) values(%s,%s)",
                   [s_name, c_id])
        obj.close()
        return redirect('stu:students')
Beispiel #6
0
def edit_teacher(request):
    if request.method == "GET":
        nid = request.GET.get('nid')
        obj = sqlhelper.SqlHelper()
        teacher = obj.get_one(
            'select tea_id,tea_name from tea_info where tea_id=%s', [
                nid,
            ])
        teatocla_list = obj.get_list(
            'select teatocla_class_id from teatocla where teatocla_tea_id =%s',
            [
                nid,
            ])
        classes_list = obj.get_list(
            'select class_id,class_name from class_info', [])
        obj.close()
        temp = []
        for row in teatocla_list:
            temp.append(row['teatocla_class_id'])
        return render(
            request, "edit_teacher.html", {
                'teacher': teacher,
                'teatocla_list': temp,
                'classes_list': classes_list,
            })

    else:
        tea_id = request.GET.get('nid')
        tea_name = request.POST.get('tea_name')
        class_id = request.POST.getlist('class_ids')

        data_list = []
        for row in class_id:
            temp = (tea_id, row)
            data_list.append(temp)
        print(data_list)

        obj = sqlhelper.SqlHelper()
        obj.modify('update tea_info set tea_name = %s where tea_id = %s',
                   [tea_name, tea_id])
        obj.modify('delete from teatocla where teatocla_tea_id = %s', [
            tea_id,
        ])
        obj.multiple_modify(
            'insert into teatocla(teatocla_tea_id,teatocla_class_id) values(%s,%s)',
            data_list)
        obj.close()
        return redirect('/teachers/')
Beispiel #7
0
def modal_edit_teacher(request):
    ret = {
        'status': True,
        'message': None,
    }
    try:
        name = request.POST.get('name')
        class_id_list = request.POST.getlist('class_id_list')

        cur = sqlhelper.SqlHelper()
        sql = 'insert into teacher(name) values(%s)'
        teacher_id = cur.create(sql, [
            name,
        ])

        data_list = []
        for cls_id in class_id_list:
            temp = (
                teacher_id,
                cls_id,
            )
            data_list.append(temp)

        sql2 = 'insert into teacher2class(teacher_id, class_id) values(%s, %s)'
        cur.multiple_modify(
            sql2,
            data_list,
        )
        cur.close()

    except Exception as e:
        ret['status'] = False
        ret['message'] = 'ERR: ' + str(e)

    return HttpResponse(json.dumps(ret))
Beispiel #8
0
def register(request):
    if request.method == "POST":
        print(request.POST)
        sql = sqlhelper.SqlHelper()
        ret = {'statue': True, 'message': None}
        try:
            email = request.POST.get("email")
            passwd = request.POST.get("passwd")
            if (email == '' or passwd == ''):
                raise Exception('emypt data')
            num = sql.get_list(
                "SELECT id FROM user_passwd ORDER BY id DESC LIMIT 1")
            if num == []:
                num = 1
            else:
                num = num[0][0] + 1
            if not sql.modify(
                    "INSERT INTO user_passwd (id,email,passwd) VALUES (%s,%s,%s);",
                [num, email, passwd]):
                raise Exception("wrong register")
            return HttpResponse(json.dumps(ret))
        except Exception as e:
            ret['statue'] = False
            ret['message'] = str(e)
            return HttpResponse(json.dumps(ret))
        finally:
            sql.close()
Beispiel #9
0
def edit_teacher(request):
    ret = {'status': True, 'message': None}
    teacher_id = request.POST.get("teacher_id")
    teacher_name = request.POST.get("teacher_name")
    classid_list = request.POST.getlist("class_list")
    if (teacher_name == "" or classid_list == []):
        ret = {'status': False, 'message': "empty message"}
        return HttpResponse(json.dumps(ret))
    sql = sqlhelper.SqlHelper()
    sql.modify("UPDATE teacher SET name=%s WHERE id=%s",
               [teacher_name, teacher_id])
    sql.modify("DELETE FROM link_t_C WHERE teacher_id=%s", [
        teacher_id,
    ])
    num = sql.get_list("SELECT id FROM link_t_C ORDER BY id DESC LIMIT 1")
    if num == []:
        num = 1
    else:
        num = num[0][0] + 1
    for class_id in classid_list:
        sql.modify(
            "INSERT INTO link_t_C (id,teacher_id,class_id) VALUES (%s,%s,%s)",
            [num, teacher_id, class_id])
        num = num + 1
    sql.close()
    return HttpResponse(json.dumps(ret))
Beispiel #10
0
def login(request):
    if request.method == 'GET':
        obj = LoginForm()
        return render(request, 'login.html', {'obj': obj})
    else:
        obj = LoginForm(request.POST)
        if obj.is_valid():
            uname = obj.cleaned_data['uname']
            pwd = obj.cleaned_data['pwd']
            result = sqlhelper.SqlHelper()
            userlogin = result.get_one(
                """
            select uname,pwd from ulogin where uname=%s and pwd=%s
            """, [
                    uname,
                    pwd,
                ])
            result.close()
            if userlogin:
                obj = redirect('stu:classes')
                obj.set_signed_cookie('uname', uname, salt='123456')
                return obj
            else:
                return render(request, 'login.html', {
                    'msg': '用户名或密码错误',
                    'obj': obj
                })
        else:
            return render(request, 'login.html', {'obj': obj})
Beispiel #11
0
def add_teacher(request):
    if request.method == "POST":
        ret = {'status': True, 'message': None}
        new_teacher = request.POST.get("title")
        class_list = request.POST.getlist("class_list")
        if (new_teacher == "" or class_list == None):
            ret['status'] = False
            ret['message'] = 'empty data'
            return HttpResponse(json.dumps(ret))
        sql = sqlhelper.SqlHelper()
        teacher_id = sql.get_list(
            "SELECT id FROM teacher ORDER BY id DESC LIMIT 1")
        if teacher_id == []:
            teacher_id = 1
        else:
            teacher_id = teacher_id[0][0] + 1
        sql.modify('INSERT INTO teacher (id,name) VALUES (%s,%s)',
                   [teacher_id, new_teacher])
        num = sql.get_list("SELECT id FROM link_t_C ORDER BY id DESC LIMIT 1")
        if num == []:
            num = 1
        else:
            num = num[0][0] + 1
        for i in class_list:
            sql.modify(
                'INSERT INTO link_t_C (id,teacher_id,class_id) VALUES (%s,%s,%s)',
                [num, teacher_id, int(i)])
            num = num + 1
        return HttpResponse(json.dumps(ret))
Beispiel #12
0
def modal_edit_teacher(request):
    res = {'state': True, 'message': None}
    try:
        tea_name = request.POST.get('tea_name')
        tea_id = request.POST.get('tea_id')
        classes_list = request.POST.getlist('classes_list')

        obj = sqlhelper.SqlHelper()
        obj.modify('update tea_info set tea_name = (%s) where tea_id= %s', [
            tea_name,
            tea_id,
        ])
        obj.modify('delete from teatocla where teatocla_tea_id = %s', [
            tea_id,
        ])

        result = []
        for row in classes_list:
            temp = (tea_id, row)
            result.append(temp)

        # print(result)
        obj.multiple_modify(
            'insert into teatocla(teatocla_tea_id,teatocla_class_id) values (%s,%s)',
            result)
        obj.close()
    except Exception as e:
        res['state'] = False
        res['message'] = str(e)

    return HttpResponse(json.dumps(res))
Beispiel #13
0
def get_all_classes(request):
    # time.sleep(1)
    obj = sqlhelper.SqlHelper()
    classes_list = obj.get_list('select class_id,class_name from class_info',
                                [])
    # print(classes_list)
    obj.close()
    return HttpResponse(json.dumps(classes_list))
Beispiel #14
0
def get_tea_class_list(request):
    obj = sqlhelper.SqlHelper()
    classes_list = obj.get_list('select class_id,class_name from class_info',
                                [])
    datalist = {'classes_list': classes_list}
    obj.close()

    return HttpResponse(json.dumps(classes_list))
Beispiel #15
0
def del_teacher(request):
    ret = {'status': True, 'message': None}
    teacher_id = request.GET.get("teacher_id")
    sql = sqlhelper.SqlHelper()
    sql.modify('DELETE FROM teacher WHERE id=%s', [teacher_id])
    sql.modify('DELETE FROM link_t_C WHERE teacher_id=%s', [teacher_id])
    sql.close()
    return HttpResponse(json.dumps(ret))
Beispiel #16
0
def del_students(request):
    s_id = request.GET.get('pk')
    obj = sqlhelper.SqlHelper()
    obj.modify("delete from students where id=%s", [
        s_id,
    ])
    obj.close()
    return redirect('stu:students')
Beispiel #17
0
def get_all_class(request):
    # 以后的操作可能会费时间,现在假设费时间,增加loading界面
    import time
    time.sleep(0.4)
    obj = sqlhelper.SqlHelper()
    sql = 'select id, title from class'
    class_list = obj.get_list(sql, [])
    obj.close()
    return HttpResponse(json.dumps(class_list))
Beispiel #18
0
def edit_teacher(request):
    if request.method == 'GET':
        nid = request.GET.get('nid')
        obj = sqlhelper.SqlHelper()
        teacher_info = obj.get_one('select id,name from teachers where id=%s',
                                   [
                                       nid,
                                   ])
        class_id_list = obj.get_list(
            'select c_id from relations where t_id=%s', [
                nid,
            ])
        class_list = obj.get_list("select id,title from class", [])
        obj.close()
        temp = []
        for i in class_id_list:
            temp.append(i['c_id'])
        return render(
            request, 'edit_teacher.html', {
                'teacher_info': teacher_info,
                'class_id_list': temp,
                'class_list': class_list,
            })
    else:
        nid = request.GET.get('nid')
        name = request.POST.get('name')
        class_ids = request.POST.getlist('class_ids')
        obj = sqlhelper.SqlHelper()
        obj.modify('update teachers set name=%s where id=%s', [name, nid])
        obj.modify('delete from relations where t_id=%s', [
            nid,
        ])
        data_list = []
        for cls_id in class_ids:
            temp = (
                nid,
                cls_id,
            )
            data_list.append(temp)
        obj = sqlhelper.SqlHelper()
        obj.multiple_modify('insert into relations(t_id, c_id) values(%s, %s)',
                            data_list)
        obj.close()
        return redirect('stu:teachers')
Beispiel #19
0
def edit_class(request):
    if request.method == 'GET':
        c_id = request.GET.get('pk')
        obj = sqlhelper.SqlHelper()
        result = obj.get_one("select id,title from class where id=%s", [
            c_id,
        ])
        obj.close()
        return render(request, 'edit_class.html', result)
    else:
        c_id = request.GET.get('pk')
        edit_name = request.POST.get('edit_name')
        obj = sqlhelper.SqlHelper()
        obj.modify("update class set title=%s where id=%s", [
            edit_name,
            c_id,
        ])
        obj.close()
        return redirect('stu:classes')
Beispiel #20
0
def add_teacher_modal(request):
    """
    AJAX的方式添加教师信息
    :param request:
    :return:
    """
    if request.method == 'GET':
        obj = sqlhelper.SqlHelper()
        class_list = obj.get_list('select id,title from class', [])
        import time
        # 这里是用来模拟用户网站压力比较大的情况下
        time.sleep(0.2)
        obj.close()
        return HttpResponse(json.dumps(class_list))
    if request.method == 'POST':
        ret = {'status': True, 'msg': None}
        # 一般ajax请求要加上try
        try:
            name = request.POST.get('name')
            class_ids = request.POST.getlist(
                'class_ids')  # ['1', '8', '9', '10']
            # print(name,class_ids) #奈何 ['9', '10']
            obj = sqlhelper.SqlHelper()
            teacher_id = obj.create('insert into teacher(name) values (%s) ', [
                name,
            ])
            data_list = []
            func = lambda item: data_list.append((teacher_id, item))
            for item in class_ids:
                func(item)
            # print(data_list)  # [(8, '8'), (8, '10')]
            obj.multiple_modify(
                'insert teacher2class(teacher_id,class_id) values(%s,%s)',
                data_list)
            obj.close()
        except Exception as e:
            ret['status'] = False
            ret['msg'] = '处理失败!'
        return HttpResponse(json.dumps(ret))
Beispiel #21
0
def add_class(request):
    if request.method == 'GET':
        return render(request, 'add_class.html')
    else:
        c_name = request.POST.get('c_name')
        if len(c_name) > 0:
            obj = sqlhelper.SqlHelper()
            obj.modify("insert into class(title) values(%s)", [
                c_name,
            ])
            obj.close()
            return redirect('stu:classes')
        else:
            return render(request, 'add_class.html', {'msg': '班级名称不能为空'})
Beispiel #22
0
def test(request):
    result = []
    for row in range(300):
        foo = [1, 2, 3]
        temp = ('stu' + str(row), choice(foo))
        result.append(temp)
    # print(result)
    obj = sqlhelper.SqlHelper()
    # self.cursor.executemany(insert into db(id, name), [(1, 'name1'), (2, 'name2')])
    obj.multiple_modify(
        'insert into stu_info(stu_name,stu_class_id) value (%s,%s)', result)

    obj.close()
    return HttpResponse("...")
Beispiel #23
0
def model_message(request):
    obj = sqlhelper.SqlHelper()
    operate = request.POST.get("operate")
    ret = obj.get_list("select id,title from class", [])
    class_id_list = []
    if operate == "add":
        return HttpResponse(json.dumps([ret, class_id_list]))
    else:
        teacher_id = request.POST.get("teacher_id")
        class_id = obj.get_list(
            "select class_id from tea_cla where teacher_id=%s", [
                teacher_id,
            ])
        class_id_list = [i["class_id"] for i in class_id]
        return HttpResponse(json.dumps([ret, class_id_list]))
Beispiel #24
0
def teacher(request):
    """
    查询教师和任课班级信息
    :param request:
    :return:
    """
    obj = sqlhelper.SqlHelper()
    teacher_list = obj.get_list(
        'select teacher.id as tid,teacher.name,class.title from teacher left join teacher2class on teacher.id = teacher2class.teacher_id left join class on teacher2class.class_id = class.id ;',
        [])
    """
    print(teacher_list)
    [
    {'tid': 1, 'name': '李娇', 'title': '网络工程'}, 
    {'tid': 1, 'name': '李娇', 'title': '计算机科学与技术'},
    {'tid': 1, 'name': '李娇', 'title': '软件技术'},
    {'tid': 1, 'name': '李娇', 'title': '软件工程'},
    {'tid': 2, 'name': '李晓', 'title': '网络工程'},
    {'tid': 2, 'name': '李晓', 'title': '软件工程'}
    ]
    """

    result = {}
    for row in teacher_list:
        tid = row['tid']
        if tid in result:
            result[tid]['titles'].append(row['title'])
        else:
            result[tid] = {
                'tid': row['tid'],
                'name': row['name'],
                'titles': [
                    row['title'],
                ]
            }
    """
    print(ret)
    {
        1: {'tid': 1, 'name': '李娇', 'titles': ['网络工程', '计算机科学与技术', '软件技术', '软件工程']}, 
        2: {'tid': 2, 'name': '李晓', 'titles': ['网络工程', '软件工程']}
    }
    """
    return render(request, 'teacher.html', {
        'teacher_list': result.values(),
    })
Beispiel #25
0
def del_teacher_modal(request):
    """
    AJAX的方式删除教师信息
    :param request:
    :return:
    """
    if request.method == 'GET':
        ret = {'status': True, 'msg': None}
        try:
            obj = sqlhelper.SqlHelper()
            tid = request.GET.get('teacher_id')
            obj.modify('delete from teacher where id =%s', [tid])
            obj.modify('delete from teacher2class where teacher_id = %s',
                       [tid])
            obj.close()
        except Exception as e:
            ret['status'] = False
            ret['msg'] = "删除失败!"
        return HttpResponse(json.dumps(ret))
Beispiel #26
0
def add_teacher(request):
    if request.method == 'GET':
        sql = 'select id, title from class'
        class_list = sqlheper.get_list(sql, [])
        return render(
            request,
            'add_teacher.html',
            {'class_list': class_list},
        )
    else:
        name = request.POST.get('name')
        class_ids = request.POST.getlist('class_ids')
        sql2 = 'insert into teacher(name) values(%s)'
        teacher_id = sqlheper.create(sql2, [
            name,
        ])
        sql3 = 'insert into teacher2class(teacher_id, class_id) values(%s, %s)'

        # 多次连接多次提交
        # for item in class_ids:
        #     sqlheper.modify(sql3, [teacher_id, item, ])

        # 一次连接多次提交
        # obj = sqlheper.SqlHelper()
        # for cls_id in class_ids:
        #     obj.modify(sql3, [teacher_id, cls_id, ])
        # obj.close()

        # 一次连接一次提交
        data_list = []
        for cls_id in class_ids:
            temp = (
                teacher_id,
                cls_id,
            )
            data_list.append(temp)

        obj = sqlhelper.SqlHelper()
        obj.multiple_modify(sql3, data_list)
        obj.close()

        return redirect('/teachers/')
Beispiel #27
0
def register(request):
    if request.method == 'GET':
        obj = RegistForm()
        return render(request, 'register.html', {'obj': obj})
    else:
        obj = LoginForm(request.POST)
        if obj.is_valid():
            uname = obj.cleaned_data['uname']
            pwd = obj.cleaned_data['pwd']
            result = sqlhelper.SqlHelper()
            result.modify(
                """
            insert into ulogin(uname,pwd) values(%s,%s)
            """, [uname, pwd])
            result.close()
            obj = redirect('stu:classes')
            obj.set_signed_cookie('uname', uname, salt='123456')
            return obj
        else:
            return render(request, 'register.html', {'obj': obj})
Beispiel #28
0
def modal_add_teachers(request):
    res = {'state': True, 'message': None}
    try:
        tea_name = request.POST.get('tea_name')
        class_list = request.POST.getlist('add_class_list')
        obj = sqlhelper.SqlHelper()
        tea_id = obj.create('insert into tea_info(tea_name) values(%s)', [
            tea_name,
        ])
        result = []
        for row in class_list:
            temp = (tea_id, row)
            result.append(temp)
        obj.multiple_modify(
            'insert into teatocla(teatocla_tea_id,teatocla_class_id) values(%s,%s)',
            result)
    except Exception as e:
        res['state'] = False
        res['message'] = str(e)
    return HttpResponse(json.dumps(res))
Beispiel #29
0
def model_modify(request):
    # {"name":$name, "class_id_list":$class_id_list,"operate":$operate,"teacher_id":$id}
    ret = {"status": True, "message": None}
    name = request.POST.get("name")
    class_list_id = request.POST.getlist("class_list_id")
    operate = request.POST.get("operate")
    if len(name.strip()) == 0 or len(class_list_id) == 0:
        ret["status"] = False
        ret["message"] = "教师姓名和课程不能为空"
    else:
        try:
            if operate == "add":
                teacher_id = sqlhelper.modify(
                    "insert into teacher(name) values(%s)", name)
                for i in class_list_id:
                    sqlhelper.modify(
                        "insert into tea_cla(teacher_id,class_id) values(%s,%s)",
                        teacher_id, i)
            else:
                obj = sqlhelper.SqlHelper()
                teacher_id = request.POST.get('teacher_id')
                obj.modify("delete from tea_cla where teacher_id=%s", [
                    teacher_id,
                ])
                if operate == "edite":
                    obj.multiple_modify(
                        "insert into tea_cla(teacher_id,class_id) values(%s,%s)",
                        [(teacher_id, i) for i in class_list_id])
                    obj.modify("update teacher set name=%s where id=%s ", [
                        name,
                        teacher_id,
                    ])
                else:
                    obj.modify("delete from teacher where id=%s", [
                        teacher_id,
                    ])
        except Exception as e:
            ret["status"] = False
            ret["message"] = str(e)
    return HttpResponse(json.dumps(ret))
Beispiel #30
0
def add_teacher(request):
    if request.method == "GET":
        classes_list = sqlhelper.get_list(
            'select class_id,class_name from class_info', [])
        return render(request, 'add_teacher.html',
                      {"classes_list": classes_list})
    else:
        tea_name = request.POST.get('tea_name')
        lastrowid = sqlhelper.create(
            'insert into tea_info(tea_name) values(%s)', [
                tea_name,
            ])
        class_list = request.POST.getlist('class_ids')

        # for row in class_list:
        #     sqlhelper.modify('insert into teatocla(teatocla_tea_id,teatocla_class_id) values(%s,%s)',
        #                      [lastrowid, row, ])

        # 连接一次,提交多次
        # obj = sqlhelper.SqlHelper()
        # for row in class_list:
        #     sqlhelper.modify('insert into teatocla(teatocla_tea_id,teatocla_class_id) values(%s,%s)',
        #                      [lastrowid, row, ])
        # obj.close()

        # 连接一次,提交一次
        data_list = []
        for row in class_list:
            temp = (lastrowid, row)
            data_list.append(temp)
        # print(data_list)
        obj = sqlhelper.SqlHelper()
        obj.multiple_modify(
            'insert into teatocla(teatocla_tea_id,teatocla_class_id) values(%s,%s)',
            data_list)
        obj.close()

        return redirect('/teachers/')