大佬教程收集整理的这篇文章主要介绍了Django JQuery Ajax文件上传,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我为了使其工作而进行的更改。
JavaScript:
@H_944_12@function upload(event) {
event.preventDefault();
var data = new FormData($('form').get(0));
$.AJAX({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: data,
cache: false,
processData: false,
ContentType: false,
success: function(data) {
alert('success');
}
});
return false;
}
$(function() {
$('form').submit(upload);
});
Django视图:
@H_944_12@def upload_vIEw(request):
if request.method == 'POST':
form = fileUploadForm(data=request.POST, files=request.fileS)
if form.is_valID():
print 'valID form'
else:
print 'invalID form'
print form.errors
return httpResponseRedirect('/ingest/')
我已经尝试上传一个简单的文本文件了几个小时,但似乎仍然无法正常工作。
我不断收到无效的表格,说我缺少“ file_@R_489_9016@e”。
为什么“ file_@R_489_9016@e”没有发布?
我还可以发送“ file_@R_489_9016@e”,但是它仍然说它丢失了。应该为Django FileFiled提供哪种类型的元素?
Django表格:
@H_944_12@class FileUploadForm(forms.Form):
file_@R_489_9016@e = forms.FileField()
Django模板(呈报形式):
@H_944_12@<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上传:
@H_944_12@function uploadFile() {
$.ajax({
data: $(this).serialize(),type: $(this).attr('method'),url: $(this).attr('action')
});
return false;
}
$(function() {
$('#file-upload-form').submit(uploadFilE);
});
收到POST的Django视图:
@H_944_12@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/')
以上是大佬教程为你收集整理的Django JQuery Ajax文件上传全部内容,希望文章能够帮你解决Django JQuery Ajax文件上传所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。