首页 > 其他 > 详细

django实现客户端文件下载

时间:2019-11-08 20:17:00      阅读:140      评论:0      收藏:0      [点我收藏+]

基于django项目,由于不是专门讲文件的下载,这里仅是项目需要,所以可能不是特别的详细。仅做流程的演示:

实现过程:

1、准备下载url

 # 下载文件
    url(r^download_file/$, downloadFile.DownloadFile.as_view(), name=download_file),

2、视图类(部分代码)

from django.http import FileResponse
class DownloadFile(View,Excel):
    ‘‘‘
    实现客户端从服务器端下载文件
    ‘‘‘
    def get(self,request):
        ‘‘‘
        将Excel文件发送给客户端,客户端进行下载。
        :param request:
        :return:
        ‘‘‘
        # 1、获取要写入Excel表中的数据
        records = self.get_records()
        # 2、服务器先生成Excel数据,并保存在本地
        file_path = self.wite_to_excel(test,records)
        # 3、将数据以流的方式发给客户端
        file = open(file_path, rb)
        response = FileResponse(file)
        # 3.1设置响应头,客户端下载文件到本地
        response[Content-Type] = application/octet-stream
        response[Content-Disposition] = fattachment;filename={os.path.basename(file_path)}
        return response

 上述代码我们只从第三步开始看即可,第三步上面是我要发送的数据(Excel数据),你根据自己的实际情况准备要发送的数据,然后执行第三步使用open函数以二进制的方式读取文件等接着往下执行即可。

3、前端页面(部分内容)

<a href="{% url ‘download_file‘ %}" class="btn btn-sm btn-success pull-right">导出数据</a>

 

4、最终我项目的效果如下所示。

技术分享图片

 

 

 

 

 

 

 

 

 

 

 

django实现客户端文件下载

原文:https://www.cnblogs.com/caesar-id/p/11822292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!