django 下载zip文件
时间: 2023-09-17 08:15:06 浏览: 159
Django 1.5.12下载
要在 Django 中下载 ZIP 文件,可以使用 Python 的 `zipfile` 模块来创建 ZIP 文件,然后将其发送给用户。以下是一个示例视图函数:
```python
import zipfile
from django.http import HttpResponse
def download_zip(request):
# 创建 ZIP 文件
buffer = io.BytesIO()
with zipfile.ZipFile(buffer, 'w') as zip_file:
# 添加文件到 ZIP 文件中
zip_file.write('/path/to/file1.txt', 'file1.txt')
zip_file.write('/path/to/file2.txt', 'file2.txt')
# 将 ZIP 文件发送给客户端
response = HttpResponse(buffer.getvalue(), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename="myfiles.zip"'
return response
```
在此示例中,我们首先创建一个 `BytesIO` 对象来保存 ZIP 文件。然后,我们使用 `zipfile.ZipFile` 类创建 ZIP 文件并将文件添加到其中。最后,我们将 ZIP 文件作为 HTTP 响应发送给客户端,以便用户可以下载它。要注意的重要一点是,我们必须设置 `Content-Disposition` 头以指示浏览器将响应视为附件并下载它。
阅读全文