def upload_graduation_topic(request, student_id): user = request.user user_obj = User.objects.get(id=user.id) if request.method == "GET": context = { "student_id": student_id, } return render(request, "defense/upload_annex_and_request_defense.html", context) if request.method == "POST": form = AnnexForm(request.POST) file = request.FILES.get("file") temp_file = "%s/%s" % (settings.MEDIA_ROOT, file.name) with open(temp_file, 'wb') as upload_files: for chunk in file.chunks(): upload_files.write(chunk) # 写入临时文件 file_path = os.path.abspath(temp_file) print("##本地文件绝对路径", file_path) fdfs_storage = FDFSStorage() remote_file_id = fdfs_storage.upload(file_path)[1] if form.is_valid(): form = form.clean() print("##FORM内容:", form) if has_role(user_obj, ['student']): topic2student_obj = Topic2Student.objects.get(student=user.id) annex_topic = topic2student_obj.topic annex_obj = Annex.objects.create(file=remote_file_id, annex_phase_id=5, raw_name=form['raw_name'], uploader=user, detail="论文", topic=annex_topic) annex_obj.save() # 更改学生状态为已经上传论文并申请了答辩 user_obj.user_phase_id = 10 user_obj.save() print("##################") print("学生状态") print(user_obj.user_phase_id) print("##################") elif has_role(user_obj, ['teacher']): # topic2teacher_obj = Topic2Teacher.objects.get(teacher_id=user.id) # annex_topic = topic2teacher_obj.topic annex_obj = Annex.objects.create(file=remote_file_id, annex_phase_id=6, raw_name=form['raw_name'], uploader=user, detail="答辩文档", topic=None) else: return HttpResponse("你是个管理员吧???") # return redirect(reverse('topic:my_topic')) return render(request, "defense/upload_annex_and_request_defense.html", {"student_id": student_id})
def upload_open_topic(request): user = request.user user_obj = User.objects.get(id=user.id) # name = get_name_role(request)[0] # role = get_name_role(request)[1] # context = { # "name": name, # "role": role, # } if request.method == "POST": form = AnnexForm(request.POST) file = request.FILES.get("file") temp_file = "%s/%s" % (settings.MEDIA_ROOT, file.name) with open(temp_file, 'wb') as upload_files: for chunk in file.chunks(): upload_files.write(chunk) file_path = os.path.abspath(temp_file) fdfs_storage = FDFSStorage() remote_file_id = fdfs_storage.upload(file_path)[1] if form.is_valid(): form = form.clean() print("##FORM内容:", form) if has_role(user_obj, ['student']): topic2student_obj = Topic2Student.objects.get(student=user.id) annex_topic = topic2student_obj.topic annex_obj = Annex.objects.create(file=remote_file_id, annex_phase_id=2, raw_name=form['raw_name'], uploader=user, detail="form.detail", topic=annex_topic) annex_obj.save() # 更改学生状态为已经上传开题报告 user_obj.user_phase_id = 6 user_obj.save() elif has_role(user_obj, ['teacher']): # topic2teacher_obj = Topic2Teacher.objects.get(teacher_id=user.id) # annex_topic = topic2teacher_obj.topic annex_obj = Annex.objects.create(file=remote_file_id, annex_phase_id=1, raw_name=form['raw_name'], uploader=user, detail="开题报告模板", topic=None) annex_obj.save() else: return HttpResponse("你是个管理员吧???") return redirect(reverse('topic:my_topic')) return render(request, "open_topic/upload_open_topic.html")