以下是一个简单的例子,用于将django静态文件夹中的文件打包成zip文件并返回给前端进行下载:

import os
import zipfile
from django.http import HttpResponse

def download_static_files(request):
    # 获取静态文件夹路径
    static_dir = os.path.join(os.getcwd(), 'static')
    
    # 创建zip文件对象
    zip_file = zipfile.ZipFile('static_files.zip', 'w')
    
    # 遍历静态文件夹中的所有文件
    for root, dirs, files in os.walk(static_dir):
        for file in files:
            # 获取文件路径
            file_path = os.path.join(root, file)
            # 将文件添加到zip文件中
            zip_file.write(file_path, file)
    
    # 关闭zip文件对象
    zip_file.close()
    
    # 打开zip文件并将其内容返回给前端进行下载
    with open('static_files.zip', 'rb') as f:
        response = HttpResponse(f.read(), content_type='application/zip')
        response['Content-Disposition'] = 'attachment; filename=static_files.zip'
        return response

在上面的代码中,我们首先获取django静态文件夹的路径,然后创建一个zip文件对象,遍历静态文件夹中的所有文件,并将它们添加到zip文件中。然后,我们关闭zip文件对象,并将其内容返回给前端进行下载。请注意,在返回响应时,我们设置了“Content-Disposition”头,以便浏览器将文件保存为zip文件

django 静态文件夹中文件 打包成zip文件 返回给前端下载

原文地址: https://www.cveoy.top/t/topic/fJUl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录