Uploading and saving files using django nonrel in Google App engine? -


according official django documentation uploads, small files saved memory , big files saved disk.

i know how save uploaded files disk? possible?

this code far. works on memory. when try write file disk, or file big in size app crashes.

views.py

# ... def spreadsheet_form(request, id = none):     if is_admin_user(request):         instance = get_object_or_404(spreadsheet, id=id) if id not none else none         form = spreadsheetform(request.post or none, request.files or none, instance=instance)         if form.is_valid():             spreadsheet = form.save(commit=false)             spreadsheet.name = request.post['name']             spreadsheet.spreadsheet_file = request.files['spreadsheet_file'].name             spreadsheet.size = request.files['spreadsheet_file'].size             spreadsheet.save()             handle_uploaded_file(request.files['spreadsheet_file'])             return redirect('/spreadsheets/')         return render_to_response("pages/spreadsheet_form.html", {"form": form,"id":id},context_instance=requestcontext(request))     else:         return redirect('/', false) # ... def handle_uploaded_file(f):     open(f.name, 'wb+') destination:         chunk in f.chunks():             destination.write(chunk) 

models.py

# ... class spreadsheet(models.model):     id = models.autofield(primary_key=true)     name = models.charfield(max_length=256)     spreadsheet_file = models.filefield(upload_to='spreadsheets/')     size = models.charfield(max_length=32)     created_at = models.datetimefield(auto_now=true)     # ...     def __unicode__(self):         return u'%s' % (self.name ) 

settings.py

file_upload_handlers = (     "django.core.files.uploadhandler.memoryfileuploadhandler",     "django.core.files.uploadhandler.temporaryfileuploadhandler", ) file_upload_max_memory_size = 7000000 file_upload_temp_dir = '/tmp' 

thanks in advance

there's no such thing 'save disk' in app engine world. closest blobstore, , it's gcs.

django-nonrel includes django storage class upload blobstore. follow this:

http://www.allbuttonspressed.com/blog/django/2010/06/uploads-to-blobstore-and-gridfs-with-django

you don't need fiddle file_upload_handlers, defaults fine.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -