如何让 Django 填充一个 html 模板,然后让用户下载它而不在浏览器中显示它?
Posted
技术标签:
【中文标题】如何让 Django 填充一个 html 模板,然后让用户下载它而不在浏览器中显示它?【英文标题】:How to let Django fill an html template, then let the user download it without showing it in browser? 【发布时间】:2017-01-24 10:26:47 【问题描述】:我有一个 html 模板,我希望 django 用一些数据填充它,但不是将用户重定向到使用该模板的视图,而是希望 Django 将填充的模板作为下载文件发送给用户. 有什么建议吗?
【问题讨论】:
有什么建议吗? - 使用谷歌? 除了不尝试任何东西...为什么?我曾希望 2016 年将继续帮助摆脱文件世界.. 我正在开发一个执行某些功能的工具,我需要将结果作为 html 输出,但我需要在其他地方打开它,而不是在用户使用服务的页面上,当然我会让用户下载它和其他文件。 【参考方案1】:您创建了一个常规视图,但在返回响应之前,您设置了 HTTP 标头Content-Disposition
。
def download_form(request):
form = ...
response = render(request, 'form_template.html', 'form': form)
response['Content-Disposition'] = 'attachment; filename="form.html"'
return response
【讨论】:
以上是关于如何让 Django 填充一个 html 模板,然后让用户下载它而不在浏览器中显示它?的主要内容,如果未能解决你的问题,请参考以下文章