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))
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/')
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/')
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/')
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')
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/')
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))
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()
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))
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})
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))
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))
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))
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))
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))
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')
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))
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')
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')
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))
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': '班级名称不能为空'})
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("...")
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]))
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(), })
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))
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/')
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})
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))
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))
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/')