def test_read_only_file(self): doc = Document(title='New Doc', file_name='A File', file=self.upload, author=self.u1) doc.save() self.assertRaises(ReadOnlyFileError, doc.file.delete) self.assertRaises(ReadOnlyFileError, doc.file.write, 'test') self.assertRaises(ReadOnlyFileError, doc.file.writelines, 'test')
def upload_file(request): if request.method == 'POST': form = UploadForm(request.POST, request.FILES) if form.is_valid(): newdoc = Document(filename = request.POST['filename'],docfile = request.FILES['docfile']) newdoc.save(form) return redirect("uploads") else: form = UploadForm() #tambien se puede utilizar render_to_response #return render_to_response('upload.html', {'form': form}, context_instance = RequestContext(request)) return render(request, 'upload.html', {'form': form})
def test_auto_blob_creation(self): """ Test that a blob is created when using file attriube on a document. """ doc = Document(title='New Doc', file_name='A File', file=self.upload, author=self.u1) doc.save() doc.file.seek(0) self.upload.seek(0) self.assertEqual(doc.file.read(), self.upload.read()) self.assertEqual(ParentBlob.objects.count(), 1) doc.file.seek(0) self.upload.seek(0) self.assertEqual(ParentBlob.objects.all()[0].file.read(), self.upload.read())
def submit(request): print('REQUEST.FILES', request.FILES) print('REQUEST.FILES', request.FILES['docfile'].__dict__) print('REQUEST.POST', request.POST) name = request.FILES['docfile']._name # Handle file upload if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) print('FORM ', form) print('FORM IS VALID', form.is_valid()) if form.is_valid(): newdoc = Document(docfile = request.FILES['docfile']) newdoc.save() print ('NEWDOC ',newdoc) print ('NEWDOC ',newdoc.__dict__) print ('NEWDOC ',newdoc.docfile.__dict__) file_stored = 'media/' + newdoc.docfile.name print ('FILE STORED ',file_stored) ok,matched = import_xlsx(filename = request.FILES['docfile']._name, file_stored = file_stored) # Respond ANYWAY return JsonResponse({ 'ok':True, 'id':newdoc.id, 'name':request.FILES['docfile']._name, 'size':request.FILES['docfile']._size, 'match':'new'} ) else: return JsonResponse({ 'ok':False, 'errors':form.errors} )
def test_auto_derived_blob_creation(self): """ Test that a blob is created when using the file attribue on a derived document. """ doc = Document(title='New Doc', file_name='A File', file=self.upload, author=self.u1) doc.save() derived = DerivedDocument(derived_from=doc._blob, index=0, file=self.upload2) derived.save() self.upload2.seek(0) self.upload.seek(0) self.assertEqual(derived.file.read(), self.upload2.read()) self.assertEqual(DerivedBlob.objects.count(), 1) self.upload2.seek(0) derived.file.seek(0) self.assertEqual(DerivedBlob.objects.all()[0].file.read(), self.upload2.read())