py文件:
from django.utils.http import urlquote from rest_framework.views APIView from django.shortcuts render,redirect,HttpResponse from dal models from django.http JsonResponse,FileResponse,StreamingHttpResponse os xlwt BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # C:\Users\user\Desktop\DownTest class fileShow(APIView): def get(self,request): message = {} userinfo = models.UserInfo.objects.all() workbook = xlwt.Workbook(encoding='utf-8') 新建工作簿\ sheet1 = workbook.add_sheet("用户表") 新建sheet sheet1.write(0,ID 第1行第1列数据 sheet1.write(0,1,1)">用户名密码创建时间 第1行第1列数据 path = BASE_DIR + \\utils\\username.xlsx" 储存路径 excel_row = 1 for obj in userinfo: data_id = obj.id data_username = obj.username data_password = obj.password data_time = obj.create_time sheet1.write(excel_row,data_id) sheet1.write(excel_row,1,data_username) sheet1.write(excel_row,2+= 1 workbook.save(path) file = open(path,1)">rb') 字符串替换成文件 print(file" file_names = file.name.split('/')[-1] print("file_names",file_names) response = FileResponse(file) response[Content-Type'] = application/octet-stream' response[Content-Dispositionattachment;filename={}".format(urlquote(path)) 字符串替换成下载文件 print(response) return response
html的ajax请求:
<button id=up">下载文件</button> 一个按钮 请求: // 下载文件 $(#up").on(click"down/get<a></a>); $a.attr(href",1)">"http://127.0.0.1:8000/down/); # 红色的是你下载路径 $(body).append($a); $a[0].click(); $a.remove(); } })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。