class SequencingFiles(models.Model): username = models.CharField(max_length=255, blank=True) SeqFiles = models.FileField(upload_to=user_directory_path,storage=OverwriteStorage()) uploaded_at = models.DateTimeField(auto_now_add=True)
class ProgressBarUploadView(View): def get(self, request): SequencingFiles_list = SequencingFiles.objects.all() return render(self.request, 'ngs/progress_bar_upload.html', {'SequencingFiles': SequencingFiles_list})
def post(self, request): #time.sleep(3) # You don't need this line. This is just to delay the process so you can see the progress bar testing locally. form = SequencingFilesForm(self.request.POST, self.request.FILES) if form.is_valid(): SequencingFiles = form.save() #print super(ProgressBarUploadView,self).get() data = {'is_valid': True, 'name': SequencingFiles.SeqFiles.name, 'url': SequencingFiles.SeqFiles.url} else: data = {'is_valid': False} return JsonResponse(data)
<div style="margin-bottom: 20px;"> <button type="button" class="btn btn-info js-upload-photos"> <span class="glyphicon glyphicon-cloud-upload"></span> Upload SequencingFiles </button> <input id="fileupload" type="file" name="SeqFiles" multiple style="display: none;" data-url="{% url 'ngs:progress_bar_upload' %}" data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'></div>