Example #1
0
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
Example #2
0
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
Example #3
0
File: grade.py Project: mvrk/Demo
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")