CRM开发学员课程系统――我的课程提交作业

匿名 (未验证) 提交于 2019-12-03 00:02:01

 

 

  #student/urls.py #提交作业 url(r'my_homework/(\d+)$',views.my_homework,name='my_homework'),

提交作业的文件是使用myDropzone,程序要新建一个文件放作业,文件目录为这样的格式:base_dir/class_id/course_record_id/studyrecord_id,使用chunks()把作业文件写入创建的文件:

#student/views.py def my_homework(request,studyscore_id):     """我的作业"""     studyscore_obj = models.StudyRecord.objects.get(id=studyscore_id)     if request.method == "POST":         #print("request.FILES:",request.FILES)         if request.is_ajax():             homework_path = "{base_dir}/{class_id}/{course_recored_id}/{studycords_id}".\                 format(base_dir=settings.HOMEWORK_DATA,class_id=studyscore_obj.student.enrolled_class_id,                        course_recored_id=studyscore_obj.course_record_id,studycords_id=studyscore_obj.id)             if not os.path.isdir(homework_path):                 os.makedirs(homework_path,exist_ok=True)             for k,file_obj in request.FILES.items():                 with open("%s/%s"%(homework_path,file_obj.name),"wb") as f:                     for chunk in file_obj.chunks():                         f.write(chunk)             return HttpResponse(json.dumps({"status":0,"msg":"file upload success"}))     return render(request,"student/my_homework.html",{"studyscore_obj":studyscore_obj})
#通过学习记录表找到所关联的字段值#student/homework.html {% extends 'index.html'%} {% block page-content %} {% load stu_tags %} <div class="panel panel-default">   <div class="panel-body">     {{enroll_obj.enrolled_class.course}}   </div>   <div class="panel">       <!-- Default panel contents -->       <!-- Table -->       <h3>作业标题:{{studyscore_obj.course_record.homework_title}}</h3>       <h3>作业详情:<pre>{{studyscore_obj.course_record.homework_content}}</pre></h3>       <h3>老师评语:{{studyscore_obj.memo}}</h3>       <h3>我的分数:{{studyscore_obj.score}}</h3>       <h3>提交作业:</h3>         <form id="filedropzone" method="post" action="{{request.path}}" class="dropzone dz-clickable">{% csrf_token %}             <div class="dz-default dz-message">                 <div class="dz-icon icon-wrap icon-circle icon-wrap-md">                     <i class="fa fa-cloud-upload fa-3x"></i>                 </div>                 <div>                     <p class="dz-text">把证件信息拖放到这里</p>                     <p class="text-muted">最多可上传2张照片</p>                 </div>             </div>         </form>    </div> </div> {% endblock%} {% block bottom-js %} <script>      $(document).ready(function () {         Dropzone.options.filedropzone ={             url:"{{request.path}}",             paramName:"file",//The name that will be used to transfer the file             maxFilesize:5,//MB             addRemoveLinks:true,             maxFiles:1,             uploadMultiple:true,             accept:function (file,done) {                 if(! file.name.endsWith(".zip")){                     alert("只能上传zip文件");                     //return false;                 }else{done();}              }};         myDropzone.on("success",function (file,response) {             /*Maybe display some more file information on your page*/             console.log('filex upload done....',response);         })      });      function RegisterFormCheck() {         if(myDropzone.files.length>1){             alert("必须只传一个文件!")             return false;         }         if($("form :checkbox").prop("checked")){             $("form").find("[disabled]").removeAttr("disabled");             return true;         }else{             alert("必须同意该协议");             return false;         }     }     Dropzone.autoDiscover = false;     myDropzone = new Dropzone("#filedropzone");     myDropzone.on("addedfile", function(file) {         /* Maybe display some more file information on your page */         console.log("-------",file)       });     console.log(myDropzone.files)  </script> {% endblock %}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!