def importgrades(request): username = request.user.username if request.POST: form = ImportForm(request.POST, request.FILES) if form.is_valid(): try: xlsfile = request.FILES.get('grades', '') filename = xlsfile.name #创建文件存储的路径 fname = os.path.join( settings.MEDIA_ROOT, 'uploads/grades/%s' % strftime("%Y/%m/%d", localtime()), filename) if os.path.exists(fname): os.remove(fname) dirs = os.path.dirname(fname) if not os.path.exists(dirs): os.makedirs(dirs) #写入文件 if os.path.isfile(fname): os.remove(fname) content = xlsfile.read() fp = open(fname, 'wb') fp.write(content) fp.close() #格式化xls文件中数据,将其存到数据库中 book = open_workbook(fname) sheet = book.sheet_by_index(0) for row_index in range(sheet.nrows): record = sheet.row_values(row_index, 0) try: student = Student.objects.get( user__username=str(record[1]).rstrip(".0")) grade = Grade(term=record[0], student=student, score=record[2]) grade.save() except Student.DoesNotExist, e: traceback.print_stack() traceback.print_exc() print e successinfo = "上传" success = True return render_to_response( 'grade/import.html', { "title": '导入成绩单', 'form': form, 'successinfo': successinfo, 'success': success, 'username': username }, context_instance=RequestContext(request)) except Exception, e: traceback.print_stack() traceback.print_exc() print e
def addGrade(): g_name = request.form.get('g_name') g_mainteacher = request.form.get('t_id') grade = Grade.query.filter_by(g_name =g_name).first() if grade: msg = '班级名称已存在' else: newgrade = Grade(g_name,g_mainteacher) newgrade.save() msg = '添加成功' return msg
def importgrades(request): username = request.user.username if request.POST: form = ImportForm(request.POST,request.FILES) if form.is_valid(): try: xlsfile = request.FILES.get('grades','') filename = xlsfile.name #创建文件存储的路径 fname = os.path.join(settings.MEDIA_ROOT,'uploads/grades/%s'%strftime("%Y/%m/%d",localtime()),filename) if os.path.exists(fname): os.remove(fname) dirs = os.path.dirname(fname) if not os.path.exists(dirs): os.makedirs(dirs) #写入文件 if os.path.isfile(fname): os.remove(fname) content = xlsfile.read() fp = open(fname, 'wb') fp.write(content) fp.close() #格式化xls文件C数据,将其存到数据库C book = open_workbook(fname) sheet = book.sheet_by_index(0) for row_index in range(sheet.nrows): record = sheet.row_values(row_index,0) try: student = Student.objects.get(user__username=str(record[1]).rstrip(".0")) grade = Grade(term=record[0],student=student,score=record[2]) grade.save() except Student.DoesNotExist,e: traceback.print_stack() traceback.print_exc() print e successinfo = "上传" success = True return render_to_response('grade/import.html',{ "title":'ImportGPAForm', 'form':form, 'successinfo':successinfo, 'success':success, 'username':username},context_instance = RequestContext(request)) except Exception,e: traceback.print_stack() traceback.print_exc() print e
def post(self): """Create new grade""" student = request.get_json()['student'] reportid = request.get_json()['reportid'] points = request.get_json()['points'] feedback = request.get_json()['feedback'] needsgrading = request.get_json()['needsgrading'] new_grade = Grade(student=student, reportid=reportid, points=points, feedback=feedback, needsgrading=needsgrading) try: new_grade.save() except UniqueViolatedError: return jsonify(error="Grade for this report already exists"), 409 return jsonify(message="ok")