当前位置: 首页 > 知识库问答 >
问题:

在Flask中,如何在视图中返回send_file后重定向到模板并显示消息?

华星驰
2023-03-14

我第一次跳进烧瓶,遇到了一个小问题。我有一个带有表单和一堆复选框的页面。在提交表单时,我将从所有复选框中获取值,并将其传递到一个脚本(我已经有了)中,该脚本基本上编写了一个CSV文件。

@app.route('/process', methods=["POST"])
def process():
    error = None
    if request.method == 'POST':
        # gets all checkbox values
        fields = request.form.getlist("field")

        # generates my csv file
        csv = generate_csv()

        if len(fields) != 0:
            csv = amxml2csv.xml2csv(xml, *fields)
            flash("Extraction succeeded!")
            return send_file(data, attachment_filename="newresults.csv", as_attachment=True)
        else:
            error = "No fields selected!"
    return render_template("index.html", error=error)

共有1个答案

公瑞
2023-03-14

我也有同样的问题。到目前为止,我找到的一个中途解决方案是

返回send_from_directory()并重定向(url_for())

 类似资料:
  • 在Laravel框架中,我可以在几秒钟后重定向页面吗?比如在成功登录10秒后重定向到仪表板页面。 目前我使用这个函数来重定向页面: 使用此选项可成功重定向页面,但页面上不会显示成功消息,因为页面重定向到第二页的速度过快。

  • 问题内容: 我正在寻找如何在Flask模板中输出当前年份。我知道你可以在Django中使用.,但是有Flask等效项吗?到目前为止,我一直无法找到任何东西。 问题答案: 使用模板上下文处理器将当前日期传递给每个模板,然后呈现其year属性。 render如果大多数模板中不需要它,也可以将其与一起传递。

  • 问题内容: 我是Python和Flask的新手,我正在尝试做与中相同的操作-即:重定向到特定的URL-我该如何处理? 这是我的代码: 问题答案: 你必须返回重定向: 请参阅flask文档上的文档。代码的默认值为302,因此可以省略或用其他重定向代码(301、302、303、305和307中的一个)替换。

  • 问题内容: 在我的flask应用程序中完成操作后,我需要重定向回外部URL。代码看起来像这样 这里可以为像外部域的绝对URL。但是,在将下一个值作为外部url传递时,此重定向将重定向到http://mysitename/www.google.com404并失败。 如何指定重定向到外部域并阻止Flask将其附加到我的域根目录? 问题答案: 我认为你需要添加一个前缀http://或https://到"

  • 问题内容: 我从一个需要标准输入重定向的Python项目开始,使用类似于以下的代码: 问题是,代码运行后,将显示以下内容: 输入内容:您输入的内容:Hello 有没有办法修改我的代码,以便显示以下内容? 输入内容:您好 您输入了:您好 我一直在搜寻高低,但尚未找到答案。如果有人有主意,我将不胜感激。谢谢! 问题答案: 我不确定为什么需要这样做,但是您可以始终这样做: 再说一次,根据需要交换自己的实

  • 问题内容: 例如,此URL: 应该返回一个类型的响应。我有两个静态图片, 如果type为1,则应该返回,否则返回。在烧瓶中怎么做? 问题答案: 你使用类似 发送回或,具体取决于类型查询参数。有关更多信息,请参见函数和对象的文档。