【发布时间】:2020-10-02 21:52:57
【问题描述】:
想法:
- 从 html 输入中获取 ID
- 使用 id 运行 sql 并返回相关用户名
- 单击“下载”按钮时,在前端将输出下载为 csv
html
Enter comma delimited ids <input type="text" id="text1" name="text1"><br><br>
<a href="/getPlotCSV">download</a>
蟒蛇
@app.route("/getPlotCSV", methods=['GET','POST'])
def getPlotCSV():
text1 = request.form['text1']
result = {}
a = []
x = []
a.extend([str(x) for x in text1.split(",")])
format_strings = ','.join(['%s'] * len(a))
cursor = cnxn.cursor()
sql = "SELECT DisplayName FROM dbo.[Users] where id IN ({seq})".format(
seq=','.join(['?'] * len(a)))
cursor.execute(sql,a)
for row, in cursor:
x.append(row)
csv = x
return Response(
csv,
mimetype="text/csv",
headers={"Content-disposition":
"attachment; filename=myplot.csv"})
sql 和输入有效,因为我在没有 csv 下载的情况下单独对其进行了测试,并且它返回了正确的数据。我目前得到的错误是“400 Bad Request:浏览器(或代理)发送了这个服务器无法理解的请求。”键错误:'text1'
我在这里错过了什么?
【问题讨论】: