Django JQuery Ajax Загрузка файла
Я уже несколько часов пытаюсь загрузить простой текстовый файл, но до сих пор не могу заставить его работать.
Я продолжаю получать недействительные формы, говоря, что мне не хватает "file_source".
Почему «file_source» не публикуется?
Я также получил его, чтобы фактически отправить "file_source", но он все еще говорит, что отсутствует. Какой тип элемента должен быть передан в Django FileFiled?
Джанго Форма:
class FileUploadForm(forms.Form):
file_source = forms.FileField()
Шаблон Django (отображает форму):
<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 Загрузить:
function uploadFile() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action')
});
return false;
}
$(function() {
$('#file-upload-form').submit(uploadFile);
});
Django View, который получает 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/')