Заливаю файл через форму.
Делаю как в документации:
#model.py
class FileToUpload(models.Model):
title = models.CharField(max_length=50)
file = models.FileField(upload_to='content/')
timestamp = models.DateTimeField(auto_now_add=True, blank=True)
class FileToUploadForm(ModelForm):
class Meta:
model = FileToUpload
def uploading_function(request):
if request.method == 'POST':
form = FileToUploadForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/ok')
else:
form= FileToUploadForm()
return render_to_response('mysite/FileToUpload_form.html',
{'form': form})
def handle_uploaded_file(f):
destination = open('%s/%s' % (MEDIA_ROOT, request.FILES['filename']), 'wb+')
for chunk in f.chunks():
destination.write(chunk)
destination.close()
global name 'request' is not defined
Т.е. вот здесь нужно добавить:
form= FileToUploadForm()
return render_to_response('mysite/FileToUpload_form.html',
{'form': form}, context_instance=RequestContext(request))