python调用浏览器中下载功能_python-如何从Django项目中在浏览器中弹出下载对话框?...

我正在使用Django创建一个网站,每次用户单击下载按钮时,我都希望下载对话框出现在浏览器中.我正在使用以下代码进行文件下载-

urllib.urlretrieve(filename)

在这种情况下,尽管正在下载文件,但是该过程在后台进行.此外,文件会在暂存Django项目的位置下载,因此无法控制文件的保存位置.如何在用户单击下载按钮后立即显示下载对话框,而不是在后台秘密开始下载过程?

解决方法:

response = HttpResponse(mimetype='text/csv')

response['Content-Disposition'] = 'attachment; filename=somefilename.csv'

您可以指定文件类型并将其设置为附件.

如果要在按钮上实现此功能,实际上我将有一个单独的视图来返回此文件响应.然后,您可以在模板中指定在按下按钮时调用该视图(确保链接到urls.py文件中的视图).它看起来像这样:

Download

实际上,不久前我也遇到了类似的问题-您可以看到以下几个类似的问题:here、at my question(我知道链接到我自己的问题很la脚,但我认为这可能对您有帮助)和here too.

如果您有任何疑问,请告诉我.

标签:python,django

来源: https://codeday.me/bug/20191102/1988434.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值