烧瓶返回500成功返回后出现内部错误



我有一个flask应用程序,当到达特定URL时,它会发送文件供下载。但是一旦下载完成,即使文件下载成功,浏览器也会显示500内部错误。

是否可以显示空页面而不是内部错误?由于我正在返回动态创建的文件进行下载,所以不确定是否可以使用HTML进行下载。

我的退货声明

return send_from_directory(
os.path.abspath(f'{LOGS_FOLDER}/{SESSION}/'),
f'logs_{umgebung}_{product}.zip',
as_attachment=True
)

我认为您没有添加返回模板或任何重定向命令。因此,当python运行该过程时,它会在这个返回中停止,而不会返回页面,因此会出现错误500

Flask根本不知道返回什么作为页面,被混淆返回错误500。

您确实可以使用正确的命令返回一个空白页。

编辑:一个很好的解决方案是动态路由

在烧瓶中创建多条管线和动态内容本文为如何做到这一点提供了一个公平的例子。

其主要思想是有一个变量,每当您想向用户返回特定内容时,该变量就会更改URL模式。您对页面使用单个模板,并且具有多个URL,这些URL指向具有相同结构但结果不同的多个页面。

最新更新