我正在运行Flask应用程序,用户通过在文本框中输入内容来发出GET请求。接收GET请求的后端代码对查询参数进行一些计算,并发回作为计算结果创建的2或3个新创建的json文件的名称。然后,用户可以查看根据用户选择的某些过滤从JSON文件创建的一些图形。我的问题是我希望这些json文件存储在一个名为data的文件夹中(并且由于各种原因和更快的响应,它们会随着时间的推移而累积)。我的应用程序结构大致是:
/data
/static
/templates
/python src files
现在我可以获取html代码来获取静态下的文件,但它对数据文件夹下的文件不起作用。如何让Flask知道允许对数据文件夹发出GET请求?
答案 0 :(得分:1)
您可以使用send_from_directory()
来提供/data
中的文件。
@app.route('/data/<path:filepath>')
def data(filepath):
return send_from_directory('data', filepath)
答案 1 :(得分:0)
为什么不在动作功能中使用缓存逻辑?如果文件已被缓存,则从单个文件加载中将其提取出来。我想成像你也想要访问控制,而这不会通过从HTTP服务提供静态文件来实现。