我有一个烧瓶应用程序,它运行查询并返回一个表。我想在页面上提供一个按钮,以便用户可以将数据导出为csv。
问题是查询是根据表单输入动态生成的。
@app.route('/report/<int:account_id>', methods=['GET'])
def report(account_id):
if request == 'GET':
c = g.db.cursor()
c.execute('SELECT * FROM TABLE WHERE account_id = :account_id', account_id=account_id)
entries = [dict(title=row[0], text=row[1]) for row in c.fetchall()]
return render_template('show_results.html', entries=entries)
在html端,它只是一个简单的表,循环遍历并渲染它们。我正在使用bootstrap进行样式设置,并包括一个tablesorter
jquery插件。这些都不是真正的必然结果。我确实尝试了一个找到的JavaScript导出器,但是由于我的内容是动态呈现的,因此它保存了一个空白CSV。
我是否需要做一些Ajax风格的骗术才能从路由中获取一个csv对象?
我自己解决了。对于遇到此问题的任何人,我发现它对于烧瓶中的特定用例很有价值。这就是我所做的。
import cx_Oracle # We are an Oracle shop, and this changes some things
import csv
import StringIO # allows you to store response object in memory instead of on disk
from flask import Flask, make_response # Necessary imports, should be obvious
@app.route('/export/<int:identifier>', methods=['GET'])
def export(load_file_id):
si = StringIO.StringIO()
cw = csv.writer(si)
c = g.db.cursor()
c.execute('SELECT * FROM TABLE WHERE column_val = :identifier', identifier=identifier)
rows = c.fetchall()
cw.writerow([i[0] for i in c.description])
cw.writerows(rows)
response = make_response(si.getvalue())
response.headers['Content-Disposition'] = 'attachment; filename=report.csv'
response.headers["Content-type"] = "text/csv"
return response
我正在开发一个客户端音乐播放器,并正在寻找一种方法来保存与mp3数据完整的播放列表。 localStorage localStorage的5mb限制排除了该选项。我想知道还有什么其他选项。 DataURIs我读过DataURIs,例如,在使用data:URI时,有没有办法指定建议的文件名?和跨浏览器另存为。txt,但不建议默认文件名,尤其是缺乏IE支持,这些都是破坏交易的因素。 IndexedDB
我在烧瓶项目中使用Swagger留档来记录endpoint和参数。 要定义endpoint的查询参数,请执行以下操作: 我想知道该参数是否可以在文档中显示为“必需的”,就像参数是路径的一部分时一样()。 查看文档,我只发现以下内容: 但这意味着信息要在身体上,我不能用GET请求来获取。另外,我希望它作为查询参数,而不是有效载荷的一部分。 这可能吗? 谢了。
我发现很难找到有关这方面的资料。会是什么?我如何解决这个问题?有哪些可能的修复方法? UWSGI日志文件 时钟来源:unix检测到CPU核数:4当前工作目录:/home/pi检测到二进制路径:/usr/local/bin/uwsgi!!!没有内部路由支持,重建与pcre支持!!!*警告:您在没有主进程管理器的情况下运行uWSGI进程数限制为7336内存页大小为4096字节检测到最大文件描述符号:6
运行代码时,我不断收到以下错误: 类型错误:“响应”对象不可调用 这是我的代码...
我正在使用flask-RESTful开发API,并且对Flask的jsonify函数有问题。我正在使用flask-marshmlet进行JSON序列化。下面是一个非常简化的代码片段: 在本地,endpoint将返回具有键“data”和“error”的json;但是,当在Linux服务器上运行时,它会返回一个包含列表和在没有“data”和“error”键的情况下返回的结果。 我已经确定这种不一致是由
问题内容: 这是由于尝试使我的html语义尽可能正确而导致的问题。 我有一个父按钮,它在同一页面中既起作用,又充当嵌套锚的大容器的父标签(重定向到另一个页面),而div标签又充当另一个按钮的父标签应该执行一些动作。 我尝试嵌套按钮,为它提供了一个类和ID,但我没有应用到该类的任何属性,并且对子按钮也没有执行ID,更多情况下,子按钮也完全脱离了大容器并放置在DOM就像它是一个完全独立的标记,没有其他