I've been trying to upload a simple text file for hours now but I still can't seem to get it working.
I keep getting invalid forms saying I'm missing the "file_source".
Why is "file_source" not getting posted?
I've also got it to actually send "file_source" but it still says it is missing. What type of element should be given to a Django FileFiled?
Django Form:
class FileUploadForm(forms.Form): file_source = forms.FileField() Django Template (renders form):
<form action="/upload/" method="post" id="file-upload-form" enctype="multipart/form-data"> {% csrf_token %} {{ form }} <button type="submit" class="btn btn-primary" id='upload-btn'>Upload</button> </form> JQuery/Ajax Upload:
function uploadFile() { $.ajax({ data: $(this).serialize(), type: $(this).attr('method'), url: $(this).attr('action') }); return false; } $(function() { $('#file-upload-form').submit(uploadFile); }); Django View Which recieves POST:
def upload_view(request): if request.is_ajax(): form = FileUploadForm(request.POST) if form.is_valid(): print 'valid form' else: print 'invalid form' print form.errors return HttpResponseRedirect('/ingest/')