使用Flask按钮将列表列表下载到CSV文件

时间:2015-11-10 19:39:28

标签: python python-2.7 csv flask

我正在使用Caught Exception: Resource / is not found on this server. 构建一个非常简单的Web界面。页面上有一个按钮,单击时应下载Flask文件。 CSV的来源是列表。单击按钮时似乎没有任何事情发生。

CSV

1 个答案:

答案 0 :(得分:2)

您的代码中存在一些问题,其中一些是您的按钮无法执行任何操作的原因。

  
      
  1. 您没有为按钮创建表单以提交
  2.   
  3. 您的data函数没有route,因此无法通过表单发布信息
  4.   
  5. 您需要使用flask request来访问methodform数据
  6.   
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()