def saveEssay(request): result = {} if request.POST: #获取表单 #TODO:title从数据库获取 # title = request.POST['title'] content = request.POST['content'] sign = request.POST['sign'] user_essay_id = request.POST['record_id'] result['sign'] = sign # 1.session获取截止日期的任务id record = User_Essay.objects.get(id=user_essay_id) essay = record.essay_id # 2.session获取用户id user = User.objects.get(user_id=request.session['user_id']) if len(User_Essay.objects.filter(user_id=user, essay_id=essay)) > 0: # 有就更新 record = User_Essay.objects.get(user_id=user, essay_id=essay) record.content = content # record.user_title = title record.save() # if sign == '1': # return HttpResponseRedirect('/main/login_action') # else: #没有就创建 # User_Essay.objects.create(content=content, isSubmit=False, essay_id=essay, user_id=user, user_title=title) # 1为保存; 2 为提交 # if sign == '1': # #TODO:经验值 # return HttpResponseRedirect('/login_action') if sign == '2': # User_Essay.objects.create(content=content, isSubmit=True, essay_id=essay, user_id=user, user_title=title) #创建结果 result['chart1'] = json.dumps(check.getChart1(content)) result['chart2'] = json.dumps(check.getChart2(content)) errors, detail = check.getErrors(content) result['errors'] = json.dumps(errors) result['detail'] = json.dumps(detail) result['feedback'] = check.getFeedback(content) result['actual_name'] = request.session['actual_name'] # TODO:排名 # #TODO:经验值 user.exp = user.exp + 10 user.save() #评分 if "water" in record.user_title: scorer = sc.Score(title=1) else: #haste waste scorer = sc.Score(title=0) result['score'] = scorer.run([content]) #检测离题 if "water" in record.user_title: detector_su = offtopic.Detection(title=1) else: #haste waste detector_su = offtopic.Detection(title=0) # detector_su = offtopic.Detection(title=0) contentwrapper = [] contentwrapper.append(content) detect_result = detector_su.run(contentwrapper) temp = False if detect_result == 'true': result['isOffTopic'] = "切题" temp = True elif detect_result == 'false': result['isOffTopic'] = "跑题" temp = False Report.objects.get_or_create(user_id=user, essay_id=essay, error=result['errors'], chart1=result['chart1'], chart2=result['chart2'], detail=result['detail'], isOffTopic=temp, score=result['score'], feedback=result['feedback']) print '++++++++++++++', result['score'] # 传入内容渲染 dict = {} dict['content'] = record.content result['content'] = json.dumps(dict) # 更新属性 record = User_Essay.objects.get(user_id=user, essay_id=essay) record.isSubmit = True record.save() return render(request, 'planResult.html', result) user = record.user_id # print report # 创建结果 result['title'] = record.user_title result['content'] = record.content result['type'] = essay.type result['user_id'] = user.user_id result['record_id'] = record.id request.session['user_id'] = user.user_id return render(request, 'planWrite.html', result)
def saveUnsuperviesd(request): result = {} if request.POST: # 获取表单 title = request.POST['title'] content = request.POST['content'] sign = request.POST['sign'] user_essay_id = request.POST['record_id'] print '+++++++++++++++', type(user_essay_id) result['sign'] = sign # 1.session获取截止日期的任务id # TODO:改正 record = User_Essay.objects.get(id=user_essay_id) essay = record.essay_id # 2.session获取用户id #TODO:改 user = User.objects.get(user_id=request.session['user_id']) if len(User_Essay.objects.filter(user_id=user, essay_id=essay)) > 0: # 有就更新 record = User_Essay.objects.get(user_id=user, essay_id=essay) record.content = content record.user_title = title record.save() # if sign == '1': # return HttpResponseRedirect('/main/login_action')#************************* else: # 没有就创建 User_Essay.objects.create(content=content, isSubmit=False, essay_id=essay, user_id=user, user_title=title) # 1为保存; 2 为提交 # if sign == '1': # return HttpResponseRedirect('/login_action') if sign == '2': # User_Essay.objects.create(content=content, isSubmit=True, essay_id=essay, user_id=user, user_title=title) # 创建结果 result['chart1'] = json.dumps(check.getChart1(content)) result['chart2'] = json.dumps(check.getChart2(content)) errors, detail = check.getErrors(content) result['errors'] = json.dumps(errors) result['detail'] = json.dumps(detail) result['feedback'] = check.getFeedback(content) result['actual_name'] = request.session['actual_name'] # TODO:排名 user.exp = user.exp + 10 user.save() # # 检测离题 detector_un.set_title(title) # detect_result=float(detector_un.offtopic_detect(content, 'LDA')) detect_result = float( detector_un.offtopic_detect(content, 'TextRank')) boolean_value = False if detect_result < 0.15: result['isOffTopic'] = "跑题" boolean_value = False else: result['isOffTopic'] = "切题" boolean_value = True result['score'] = 'no' Report.objects.get_or_create(user_id=user, essay_id=essay, error=result['errors'], chart1=result['chart1'], chart2=result['chart2'], detail=result['detail'], isOffTopic=boolean_value, score='no', feedback=result['feedback']) # 传入内容渲染 dict = {} dict['content'] = record.content result['content'] = json.dumps(dict) # 更新属性 record = User_Essay.objects.get(user_id=user, essay_id=essay) record.isSubmit = True record.save() return render(request, 'planResult.html', result) user = record.user_id # print report # 创建结果 result['title'] = record.user_title result['content'] = record.content result['type'] = essay.type result['user_id'] = user.user_id result['record_id'] = record.id request.session['user_id'] = user.user_id return render(request, 'selfWrite.html', result)