Python 使用Flask按钮将列表列表下载到CSV文件
我正在用Python 使用Flask按钮将列表列表下载到CSV文件,python,python-2.7,csv,flask,Python,Python 2.7,Csv,Flask,我正在用Flask构建一个非常简单的web界面。页面上有一个按钮,单击时应下载CSV文件。CSV的来源是列表的列表。当我点击按钮时,似乎什么也没发生 from flask import Flask import csv import StringIO from flask import make_response app = Flask(__name__) from requests import request @app.route('/') def landing(): retur
Flask
构建一个非常简单的web界面。页面上有一个按钮,单击时应下载CSV
文件。CSV的来源是列表的列表。当我点击按钮时,似乎什么也没发生
from flask import Flask
import csv
import StringIO
from flask import make_response
app = Flask(__name__)
from requests import request
@app.route('/')
def landing():
return '<input type="submit" name="submit" value="Get Data">'
def data():
if request.method == 'POST':
if request.form['submit'] == 'Get Data':
csvlist = [['item 1', 'item2'], ['box1', 'box2']]
si = StringIO.StringIO()
cw = csv.writer(si)
cw.writerows(csvlist)
output = make_response(si.getvalue())
output.headers["Content-Disposition"] = "attachment; filename=export.csv"
output.headers["Content-type"] = "text/csv"
return output
if __name__ == '__main__':
app.run()
从烧瓶导入烧瓶
导入csv
导入StringIO
从flask import作出响应
app=烧瓶(名称)
从请求导入请求
@应用程序路径(“/”)
def landing():
返回“”
def data():
如果request.method==“POST”:
if request.form['submit']=“获取数据”:
csvlist=['item 1'、'item2']、['box1'、'box2']]
si=StringIO.StringIO()
cw=csv.writer(si)
cw.writerows(csvlist)
输出=作出响应(si.getvalue())
output.headers[“内容处置”]=“附件;文件名=export.csv”
output.headers[“内容类型”]=“文本/csv”
返回输出
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run()
您的代码中有几个问题,其中一些是为什么您的按钮什么都不做
数据
功能没有路由
,因此无法通过表单帖子访问flask request
访问方法
和表单
数据从烧瓶导入烧瓶,请求,做出响应
导入csv
导入StringIO
app=烧瓶(名称)
@应用程序路径(“/”)
def landing():
返回“”
"""
@app.route('/data',methods=['POST'])
def data():
如果request.method==“POST”:
if request.form['submit']=“获取数据”:
csvlist=['item 1'、'item2']、['box1'、'box2']]
si=StringIO.StringIO()
cw=csv.writer(si)
cw.writerows(csvlist)
输出=作出响应(si.getvalue())
output.headers[“内容处置”]=“附件;文件名=export.csv”
output.headers[“内容类型”]=“文本/csv”
返回输出
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run()
from flask import Flask, request, make_response
import csv
import StringIO
app = Flask(__name__)
@app.route('/')
def landing():
return """<form action="data" method="post">
<input type="submit" name="submit" value="Get Data">
</form>"""
@app.route('/data', methods=['POST'])
def data():
if request.method == 'POST':
if request.form['submit'] == 'Get Data':
csvlist = [['item 1', 'item2'], ['box1', 'box2']]
si = StringIO.StringIO()
cw = csv.writer(si)
cw.writerows(csvlist)
output = make_response(si.getvalue())
output.headers["Content-Disposition"] = "attachment; filename=export.csv"
output.headers["Content-type"] = "text/csv"
return output
if __name__ == '__main__':
app.run()