• django实现客户端文件下载


    基于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'] = f'attachment;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、最终我项目的效果如下所示。

  • 相关阅读:
    Linux安装nginx
    linux目录结构
    Django-admin
    celery
    Flask-Migrate
    Flask-Script
    Flask-SQLAlchemy
    SQLAlchemy
    mongodb的增删改查
    websocket的加密和解密过程
  • 原文地址:https://www.cnblogs.com/caesar-id/p/11822292.html
Copyright © 2020-2023  润新知