根据这一答复:
cursor = db.execute_sql('select * from tweets;')
for row in cursor.fetchall():
print row
cursor = db.execute_sql('select count(*) from tweets;')
res = cursor.fetchone()
print 'Total: ', res[0]
from:Python Peewee execute_sql()示例
如何将其带到flask应用程序,然后显示在网页中?
这是正确的吗:
模型派克
def get_statistics():
cursor = finDB.execute_sql('CALL Allstatistics;')
for row in cursor.fetchall():
return row
应用程序。派克
@app.route("/finance")
def finance():
stats = model.get_statistics()
return render_template('/finance.html', stats=stats)
但是如何在表格中显示它呢?
问题在于您对以下内容的适应:
for row in cursor.fetchall():
print row
这将逐个打印由finchall()
返回的所有行。
您试图将其调整为返回所有行的函数:
def get_statistics():
cursor = finDB.execute_sql('CALL Allstatistics;')
for row in cursor.fetchall():
return row
现在,这将只返回第一行,因为return语句在第一次迭代时终止循环。
你真正想要的是这样的:
def get_statistics():
cursor = finDB.execute_sql('CALL Allstatistics;')
return cursor.fetchall()
这将正确返回光标中的所有行,如果没有结果行,则返回
None
。
通过检查是否有非空结果,而不是返回空列表,您可以这样做:
def get_statistics():
cursor = finDB.execute_sql('CALL Allstatistics;')
rows = cursor.fetchall()
if rows:
return rows
return []
关于
cursor.fetchone()
,这将返回游标的下一个可用行,如果没有更多的行可用,则返回No
。例如,可以像这样遍历游标中的所有可用行:
rows = []
row = cursor.fetchone() # fetch first row, or None if empty result
while row is not None:
rows.append(row)
row = cursor.fetchone() # fetch the next row, if None loop terminates
return rows # return all collected results
对于您的用例,为您的结果构建一个更方便的数据结构可能会很有趣,例如,dict的
列表
:
rows = []
row = cursor.fetchone()
while row is not None:
rows.append({'foo': row[0], 'bar': row[1], 'baz': row[2]})
row = cursor.fetchone()
return rows
请注意,这可以类似地实现,如下所示:
rows = []
for row in cursor.fetchall():
rows.append({'foo': row[0], 'bar': row[1], 'baz': row[2]})
return rows
然后,您可以在模板中编写,为行中的行循环
:
foo is {{row['foo']}} and bar is {{row['bar']}}
或者您可以构建一个
namedtuple
列表,允许您在模板中写入:
foo is {{row.foo}} and bar is {{foo.bar}}
我已经用flask在python上制作了一个restapi(端口:5000),我正在从一个网站(端口:80)发出get和post请求。我收到了cors错误,所以我尝试在RESTAPI中为站点创建一个响应头。但是我得到了导入错误: 我已经下载了烧瓶cors模块并升级它,并确保它是在正确的路径,但它仍然不工作。 API代码:
我发现很难找到有关这方面的资料。会是什么?我如何解决这个问题?有哪些可能的修复方法? UWSGI日志文件 时钟来源:unix检测到CPU核数:4当前工作目录:/home/pi检测到二进制路径:/usr/local/bin/uwsgi!!!没有内部路由支持,重建与pcre支持!!!*警告:您在没有主进程管理器的情况下运行uWSGI进程数限制为7336内存页大小为4096字节检测到最大文件描述符号:6
问题内容: 为了在用户单击“清除按钮”时初始化a上的所有,我需要遍历(而不是将所有单个字段都设置为“”)。 我如何使用for-each循环来遍历s的搜索? 问题答案: 但是,如果您具有更深层嵌套的JTextField,则可以使用以下递归形式: 编辑: Tom Hawtin的 一个样本 -粗线 建议将在您的框架班级中列出: 并在初始化单个文本字段时,将它们添加到此列表中: 当用户单击清除按钮时,只需
问题内容: 我试图用一个烧瓶形式的sqlalchemy请求的结果填充选择字段。 这是代码: 这是模板: 查看: 模型(仅粘贴了关联表和作者表,很多列都不用了) 我目前收到此错误: 我真正想要的是,选择字段显示作者姓名及其编号,然后将作者编号返回至应用程序(返回至位于头的名为“ add_author”的函数)。 谢谢。 问题答案: 您有两个问题: 正如肖恩·维埃拉(Sean Vieira)在回答中指
我正在使用flask-RESTful开发API,并且对Flask的jsonify函数有问题。我正在使用flask-marshmlet进行JSON序列化。下面是一个非常简化的代码片段: 在本地,endpoint将返回具有键“data”和“error”的json;但是,当在Linux服务器上运行时,它会返回一个包含列表和在没有“data”和“error”键的情况下返回的结果。 我已经确定这种不一致是由
我正在建立一个小网站,我已经在SQLAlChemy中拥有了我所有的模型。该网站将发布一些离线计算的信息。只有结果将被发布到一个精简的数据库,即它包含结果,而不是原始数据,但网站需要查询结果。 我将使用Flask,因为我的模型已经用Python驱动了(通过SWIG在C中进行了一些繁重的工作),我不想使用Django。 我敢肯定,以前有人问过这个问题,通常没有太多理由的咒语是“使用炼金术”。问题是为什
我的nginx配置: 这是nginx或uwsgi的问题,还是两者都有?
问题内容: 我对Flask和Matplotlib非常陌生。我希望能够显示我在某些html中生成的简单图表,但是我很难弄清楚该怎么做。这是我的Python代码: 这是我的HTML: 问题答案: 您可以在Flask URL路由处理程序中即时生成图像: 然后,您需要将图像包含在HTML模板中: