Django下载文件

因为这个Django下载文件,卡了我好久,我务必今日给它安排个博客出来.

第一步:放个图片

我这里放个snow.jpeg 雪山的图片

alt

第二步:建立下载模板

在index.html里添加

alt

第三步:建立视图函数

在views.py里添加

alt

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def index(request):
    return render(request,'index.html')

def file_down(request):

    file_name = "snow.jpeg"  # 文件名
    file_path = open(os.path.join(BASE_DIR, 'download', file_name),'rb')  # 下载文件的绝对路径
    print('文件路径-->',file_path)
    response = HttpResponse(file_path)
    response['Content-Type'] = 'application/octet-stream'
    response['Content-Disposition'] = 'attachment;filename="snow.jpeg"'
    return response

第四步:设置路由 alt

    path('', views.index),
    re_path('download/', views.file_down, name="download"),

最后效果: alt alt alt

参考资料:博客园-肖祥

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务