希望通过ajax从页面上传一些字段和一个excel文件进行处理
前端部分是这样写的
<form method="post">
{% csrf_token %}
<input class='a' type="text">
<input class="up-files" type="file">
<button class="up-btn">提交</button>
</form>
#js 部分
<script>
$('.wage-add-btn').click(function () {
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
if(confirm("请仔细检查表格确认上传")) {
var a = $('.a').val();
var files = $('.up-files').val();
$.ajax({
type:"POST",
data: {a:a, files:files},
url: "{% url 'add' %}",
cache: false,
dataType: "html",
success: function(){
alert('成功')
},
error: function(){
alert('失败')
}
});
return false;
}
});
</script>
views.py:
def add(request):
if request.method == 'POST':
if request.is_ajax():
a = request.POST.get('a')
files = request.POST.get('files')
data = xlrd.open_workbook(files)
return render(request, 'index.html', locals())
这里报错:
IOError: [Errno 2] No such file or directory: u'C:\fakepath\u5956u54c1u53d1u653eu767bu8bb0u886835.xls'
请问是哪里操作不对吗?是否有完整的实现可以借鉴?
文件上传和表单提交建议分开执行~
Django文件上传参考网址