后端-我编写了一个python脚本,该脚本在进行一些聚合后创建了一个csv文件。
前端-方法完成运行并且生成.csv文件并将其保存到服务器中的目录后,我希望能够提示用户将.csv文件保存在其本地计算机上(就像Windows一样)提示,当您在网页上按“另存为...”时会得到提示。
这是我到目前为止在Return Excel file in Flask app和Download a file when button is pressed on web application?中学到的东西的一个示例:
示例代码:
with open(save_path + unique_filename + ".csv", 'w', encoding = 'utf8') as g:
writer = csv.writer(g, lineterminator = '\n')
writer.writerow(['name', 'place', 'location'])
HTML:
@app.route('/login', method='POST')
def do_login():
category = request.forms.get('category')
return '''
<html><body>
Hello. <a href="/getCSV"> Save Results </a>
</body></html>
'''
@app.route("/getCSV", methods = ['GET', 'POST'])
def getPlotCSV():
return send_from_directory(save_path + unique_filename + ".csv", as_attachment=True)
if __name__ == "__main__":
run(app, host = 'localhost', port = 8000)
我的问题是:
1)send_from_directory来自烧瓶,什么是等效瓶?
2)我可以将创建的csv放在代码中的什么位置,以便用户可以将其下载到本地计算机上?
3)我的代码还有什么问题?
答案 0 :(得分:0)
瓶示例:来自https://bottlepy.org/docs/dev/tutorial.html
@route('/download/<filename:path>')
def download(filename):
return static_file(filename, root='/path/to/static/files', download=filename)