【问题标题】:How to let Django fill an html template, then let the user download it without showing it in browser?如何让 Django 填充一个 html 模板,然后让用户下载它而不在浏览器中显示它?
【发布时间】:2017-01-24 10:26:47
【问题描述】:

我有一个 HTML 模板,我希望 django 用一些数据填充它,但不是将用户重定向到使用该模板的视图,而是希望 Django 将填充的模板作为下载文件发送给用户.

有什么建议吗?

【问题讨论】:

  • 有什么建议吗? - 使用谷歌?
  • 除了不尝试任何东西...为什么?我曾希望 2016 年将继续帮助摆脱文件世界..
  • 我正在开发一个执行某些功能的工具,我需要将结果作为 html 输出,但我需要在其他地方打开它,而不是在用户使用服务的页面上,当然我会让用户下载它和其他文件。

标签: python django python-2.7 django-templates


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2023-04-04
    • 2011-04-13
    • 2010-11-27
    相关资源
    最近更新 更多