Flask / Pythonを使い始めたばかりです。私が達成したいのは、HTMLにダウンロードボタンがあり、次の関数を呼び出すことです。
function downloadPlotCSV() {
$.ajax({
url: "/getPlotCSV",
type: "post",
success: function(data) {
dataPlot = JSON.parse(data);
console.log(dataPlot);
}
});
}
不完全なフラスコのコードは次のとおりです。
@app.route('/getPlotCSV', methods = ['POST'])
def plotCSV():
data = open("outputs/Adjacency.csv")
私が直面している問題は、JavaScriptを使用してダウンロードできるように、このcsvファイルをダウンロードしたり、JSON文字列として返したりする方法が見つからないことです。JSONとして送信したり、Flaskを介してダウンロードしたりする方法はありますか?最良の方法は何ですか?
JavaScriptなしでCSVファイルをダウンロードする1つの方法を次に示します。
#!/usr/bin/python
from flask import Flask, Response
app = Flask(__name__)
@app.route("/")
def hello():
return '''
<html><body>
Hello. <a href="/getPlotCSV">Click me.</a>
</body></html>
'''
@app.route("/getPlotCSV")
def getPlotCSV():
# with open("outputs/Adjacency.csv") as fp:
# csv = fp.read()
csv = '1,2,3\n4,5,6\n'
return Response(
csv,
mimetype="text/csv",
headers={"Content-disposition":
"attachment; filename=myplot.csv"})
app.run(debug=True)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加