django如何下载文件
时间: 2023-08-10 10:08:15 浏览: 47
在 Django 中,可以通过 HttpResponse 和 FileWrapper 来下载文件。以下是一个示例代码:
```python
import os
from django.http import HttpResponse
from wsgiref.util import FileWrapper
def download_file(request):
file_path = '/path/to/your/file.pdf'
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(FileWrapper(fh), content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename=' + os.path.basename(file_path)
return response
raise Http404
```
在上面的代码中,我们首先检查文件是否存在。如果文件存在,我们打开文件并使用 FileWrapper 将其包装到 HttpResponse 中。然后,我们设置 content_type 和 Content-Disposition 标头,以便浏览器知道如何处理响应。最后,我们返回 HttpResponse 对象。
请注意,这只是一个示例代码,你可以根据自己的需求进行修改。