用Flask生成并提供文件

时间:2019-04-18 22:04:56

标签: python flask

因此,我有一个脚本run_queries(),该脚本运行一些SQL查询并将它们写入merge_files目录下的xml文件中。

我想创建一个简单的flask应用程序来运行该run_quries()任务,然后在完成后下载最新的XML文件。

我第一次运行此代码时,它运行良好,但是好像flask或我的浏览器正在进行一些缓存。因为在第一次之后它甚至没有运行此代码,所以它只是立即返回并总是返回相同的文件。

我该如何解决

@app.route('/get_analytics')
def get_analytics():
    run_query()
    list_of_files = glob.glob('./merge_files/*')
    latest_file = max(list_of_files, key=os.path.getctime)
    response = send_file(latest_file, as_attachment=True,
                         attachment_filename=latest_file)
    response.headers["x-filename"] = latest_file
    response.headers["Access-Control-Expose-Headers"] = 'x-filename'
    return response

1 个答案:

答案 0 :(得分:1)

烧瓶send_file接受cache_timeout参数,您可以将其设置为-1以禁用缓存。另外,您可以使用SEND_FILE_MAX_AGE_DEFAULT设置在配置中指定缓存超时。