【问题标题】:How can I return a redirect and file in Django?如何在 Django 中返回重定向和文件?
【发布时间】:2021-01-15 16:17:12
【问题描述】:

我正在处理提交时可以选择导出 PDF 的表单。这很好,但我也希望能够返回一个新的 URL,以便用户重定向到以及下载文件。将render()redirect()FileResponse() 结合在一起的东西。

【问题讨论】:

  • 这能回答你的问题吗? Django: redirect after file download
  • 这可行,但我应该提到该文件已上传到 S3 并且必须保持私有。该文件只能在生成 PDF 时下载。提交创建表单的时间。

标签: python django django-views


【解决方案1】:

为此,您将需要 两个 视图。一个用于重定向,另一个用于提供要下载的文件。这是一个简化的实现:

def myform(request):
    form = MyForm(request.POST)
    if form.is_valid():
        return redirect("/download/file.pdf")

def download(request):
    file = open("file.pdf", "rb")
    return FileResponse(file, as_attachment=True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2021-12-25
    • 2021-12-25
    • 2017-12-28
    • 2017-11-19
    • 2019-08-04
    • 2020-02-11
    相关资源
    最近更新 更多