django文件下载
时间: 2023-11-12 11:09:00 浏览: 100
在Django中实现文件下载功能需要进行以下步骤:
1. 在urls.py中配置下载文件的路由,指定对应的视图函数。
2. 在views.py中编写对应的视图函数,实现文件下载的逻辑。
3. 在模板中添加下载链接,指向对应的路由。
下面是一个简单的示例代码:
在urls.py中添加路由配置:
```
from django.urls import path
from . import views
urlpatterns = [
path('download/<str:filename>/', views.download_file, name='download_file'),
]
```
在views.py中编写视图函数:
```
import os
from django.http import HttpResponse, Http404
def download_file(request, filename):
file_path = os.path.join(settings.MEDIA_ROOT, filename)
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel")
response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path)
return response
raise Http404
```
在模板中添加下载链接:
```
<a href="{% url 'download_file' filename='example.xlsx' %}">Download Excel File</a>
```
注意:上述示例中的文件类型为Excel文件,如果需要下载其他类型的文件,需要修改content_type参数。同时,需要确保文件路径正确,并且Django的MEDIA_ROOT设置正确。
阅读全文